分类:压电式(频率不固定,发生音调变化)、电磁式(频率固定,发声不变)
软件设置:
使能蜂鸣器对应GPIO口,初始化相关参数
主函数控制蜂鸣器发声
代码:
BEEP.C:初始化跟led一样
#include "beep.h"
void beep_Init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(BEEP_PORT_RCC,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=BEEP_PIN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_ResetBits(GPIOB,BEEP_PIN);
}
BEEP.H:宏定义BEEP
#ifndef _beep_h
#define _beep_h
#include "system.h"
#define BEEP_PORT_RCC RCC_APB2Periph_GPIOB
#define BEEP_PIN GPIO_Pin_8
#define BEEP_PORT GPIOB
void (void);
#define BEEP PBout(8)
#endif
main函数:记得要包含beep.c
#include "led.h"
#include "system.h"
#include "SysTick.h"
#include "beep.h"
int main()
{
SystemTick_Init(72);
LED_Init();
beep_Init();
while(1)
{
BEEP!=BEEP;
delay_ms(400);
}
}