YoungTalk STM32——蜂鸣器驱动程序
buzzer.c内各驱动函数:
蜂鸣器的接口初始化
void BUZZER_Init(void){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = BUZZER;//选择端口号
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //选择IO接口工作方式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置IO接口速度(2/10/50MHz)
GPIO_Init(BUZZERPORT, &GPIO_InitStructure);
GPIO_WriteBit(BUZZERPORT,BUZZER,(BitAction)(1)); //蜂鸣器接口输出高电平1(保护作用)
}
蜂鸣器响一声(可修改音调和鸣响时间)
void BUZZER_BEEP1(void){
u16 i;
for(i=0;i<200;i++){
GPIO_WriteBit(BUZZERPORT,BUZZER,(BitAction)(0)); //蜂鸣器接口输出0
delay_us(500);//延时
GPIO_WriteBit(BUZZERPORT,BUZZER,(BitAction)(1));//蜂鸣器接口输出高电平1
delay_us(500); //延时
}
}
void BUZZER_BEEP2(void){
u16 i;
for(i=0;i<500;i++){
GPIO_WriteBit(BUZZERPORT,BUZZER,(BitAction)(0)); //蜂鸣器接口输出0
delay_us(250);//延时
GPIO_WriteBit(BUZZERPORT,BUZZER,(BitAction)(1));//蜂鸣器接口输出高电平1
delay_us(250);//延时
}
}
函数调用较为简单,不再赘述。