首页 > 代码库 > 蜂鸣器

蜂鸣器

 

功能

  使蜂鸣器发出响声

分析

  • 查看原理图蜂鸣器的端口是PF8
  • 管脚外设时钟的配置
  • 管脚输出状态的配置
    1. 模式配置
    2. 输出类型设置——推挽输出
    3. 输出速率设置  
  • 循环打开、等待、关闭、等待操作

代码

 1 //beep.h 2 #ifndef _BEEP_H_ 3 #define _BEEP_H_ 4  5 #define BEEP_ON (GPIOF->ODR |= (1<<8)) 6 #define BEEP_OFF (GPIOF->ODR &= ~(1<<8)) 7  8 void Beep_Init(void); 9 void Delay(int n);10 11 #endif
 1 //beep.c 2 #include "stm32f4xx.h" 3 #include "beep.h" 4  5 void Beep_Init(void) 6 { 7     //管脚外设时钟 8     RCC->AHB1ENR |= (1<<5);     9     //PF8管脚状态10     //模式配置11     GPIOF->MODER &= ~(0X3<<16);    //清零12     GPIOF->MODER |= (0X1<<16);    //PF8配置为通用输出状态13     //输出类型配置14     GPIOF->OTYPER &= ~(0X1<<8);    //推挽输出    15     //速率配置16     GPIOF->OSPEEDR &= ~(0X1<<16);17     GPIOF->OSPEEDR |= (0X2<<16);    18     //上下拉配置19     GPIOF->PUPDR &= ~(0X3<<16);20     GPIOF->PUPDR |= (0X1<<16);21 }22 23 void Delay(int n)24 {25     while(n--);26 }
 1 //main.c 2 #include "stm32f4xx.h" 3 #include "beep.h" 4  5 int main() 6 {     7     while(1) 8     {     9         Beep_Init();10         BEEP_ON;11         Delay(1000000);12         BEEP_OFF;13         Delay(1000000);14     }15 }

 

蜂鸣器