
一个 NPN 三极管(S8050)来驱动蜂鸣器,R61 主要用于防止蜂鸣器的误发
声。当 PF.8 输出高电平的时候,蜂鸣器将发声,当 PF.8 输出低电平的时候,蜂鸣器停止发声。
初始化BEEP
void BEEP_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF时钟//初始化蜂鸣器对应引脚GPIOF8GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHzGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//下拉GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIOGPIO_ResetBits(GPIOF,GPIO_Pin_8); //蜂鸣器对应引脚GPIOF8拉低,}
main
int main(void){delay_init(168); //初始化延时函数LED_Init(); //初始化LED端口BEEP_Init(); //初始化蜂鸣器端口while(1){GPIO_ResetBits(GPIOF,GPIO_Pin_9); // DS0拉低,亮 等同LED0=0;GPIO_ResetBits(GPIOF,GPIO_Pin_8); //BEEP引脚拉低, 等同BEEP=0;delay_ms(300); //延时300msGPIO_SetBits(GPIOF,GPIO_Pin_9); // DS0拉高,灭 等同LED0=1;GPIO_SetBits(GPIOF,GPIO_Pin_8); //BEEP引脚拉高, 等同BEEP=1;delay_ms(300); //延时300ms}}
