75 lines
2.3 KiB
Plaintext
75 lines
2.3 KiB
Plaintext
/*
|
||
*********************************************************************************************************
|
||
*
|
||
* 【安富莱】STM32-V4 开发板-例程功能说明
|
||
*
|
||
* 例程名称 : V4-005_无源蜂鸣器例程(硬件PWM)
|
||
*
|
||
* 推荐将编辑器的缩进参数和TAB设置为4 来阅读本文件
|
||
*
|
||
*********************************************************************************************************
|
||
*/
|
||
|
||
【1】例程简介
|
||
|
||
本例子演示如何驱动蜂鸣器。STM32-V4开发板安装的蜂鸣器为无源蜂鸣器,使用PA8引脚。
|
||
|
||
主程序实现功能:
|
||
(1) 按K1,K2,K3键分别发出不同的蜂鸣音
|
||
(2) 通过摇杆左右键可以调节蜂鸣器频率。
|
||
操作提示:
|
||
1. K1键 - 按键提示音(固定频率1.5KHz)
|
||
2. K2键 - 急促鸣叫10次
|
||
3. K3键 - 长鸣3次
|
||
4. 摇杆左键 - 蜂鸣器频率 - 100Hz
|
||
5. 摇杆右键 - 蜂鸣器频率 + 100Hz
|
||
|
||
源代码说明:
|
||
(1)bsp_beep.c 是蜂鸣器驱动文件。通过宏切换是有源蜂鸣器还是无源蜂鸣器。 无源蜂鸣器需要使用TIM硬件输出
|
||
PWM波形来驱动。
|
||
//#define BEEP_HAVE_POWER /* 定义此行表示有源蜂鸣器,直接通过GPIO驱动, 无需PWM */
|
||
|
||
(2)bsp_tim_pwm.c 是定时器PWM驱动文件。SetTIMOutPWM()函数配置GPIO为输出PWM状态。
|
||
void bsp_SetTIMOutPWM(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, TIM_TypeDef* TIMx, uint8_t _ucChannel,
|
||
uint32_t _ulFreq, uint32_t _ulDutyCycle);
|
||
|
||
(3)bsp.c 中,需要每隔10ms调用一次BEEP_Pro()函数,该函数用来控制蜂鸣次数和时长。
|
||
void bsp_RunPer10ms(void)
|
||
{
|
||
bsp_KeyScan(); /* 每10ms扫描按键一次 */
|
||
|
||
BEEP_Pro(); /* 蜂鸣器定时处理 */
|
||
}
|
||
|
||
(4) BEEP_KeyTone(); 是发按键提示音的函数,频率固定1.5KHz。
|
||
BEEP_Start()启动蜂鸣器开始鸣叫。该函数是非阻塞的,10ms定时中断服务程序会控制PWM的启动和停止。
|
||
BEEP_Stop() 立即终止鸣叫。
|
||
|
||
【2】执行结果
|
||
使用USB转RS232线,连接开发板的RS232接口到计算机的USB接口。运行 SecureCRT 软件。
|
||
|
||
下面是串口界面执行结果:
|
||
*************************************************************
|
||
* 例程名称 : V4-005_无源蜂鸣器例程(硬件PWM)
|
||
* 例程版本 : 1.0
|
||
* 发布日期 : 2015-08-30
|
||
* 固件库版本 : 3.6.1
|
||
* CMSIS版本 : 3.01
|
||
*
|
||
* QQ : 1295744630
|
||
* Email : armfly@qq.com
|
||
* Copyright www.armfly.com 安富莱电子
|
||
*************************************************************
|
||
操作提示:
|
||
1. K1键 - 按键提示音(固定频率1.5KHz)
|
||
2. K2键 - 急促鸣叫10次
|
||
3. K3键 - 长鸣3次
|
||
4. 摇杆左键 - 蜂鸣器频率 - 100Hz
|
||
5. 摇杆右键 - 蜂鸣器频率 + 100Hz
|
||
蜂鸣器频率 = 1500Hz
|
||
|
||
|
||
【3】修改记录
|
||
2015-08-30 V1.0 首版
|
||
|