STM32——蜂鸣器
目标:控制蜂鸣器每隔500ms响一次
程序分析:
要控制蜂鸣器,首先打开原理图,找到beep对应的引脚,如下图,可以知道beep连接在PB8引脚上。
那么就要控制GPIOB,在GPIO口之前,必须要使能GPIO口时钟。查参考手册可以得知,GPIOB挂在RCC寄存器下的APB2上。(如图)
那么步骤就是:
第一步,就需要调用RCC_APB2PeriphClockCmd()这个函数,来初始化这个I/O口时钟。
第二步才是配置I/O,如配置输出模式、输出速度、pin脚。
第三步便是编写主函数,操作I/O口,输出高低电平。
程序步骤;
1、新建一个工程文件,将所需要的各个头文件包含进去。
2、在工程文件夹中新建一个文件夹—HARDWARE(名字可任取),然后在其中新建BEEP文件夹。
3、打开 xxx.uvprojx 工程文件,新建 beep.c 和 beep.h,保存至 BEEP 文件夹中。beep.c文件目的是建立一个初始化函数(即上文提到的第二步),使得端口为推挽输出,而 beep.h 文件则是 beep.c 文件的头文件,声明这个初始化函数。
4、将beep.c文件添加到HARDWARE-BEEP 文件夹中,将beep.h 文件的路径添加到 HARDWARE-BEEP 文件夹中。
5、编写beep.h代码
6、编写beep.c代码
7、编写main.c代码
这个主函数中还包含了“LED.h”这个头文件,目的只是想在蜂鸣器响的同时,灯闪烁。调用的灯是GPIOB pin5 这个引脚对应的灯。
delay_ms(500),为延时函数,延时500ms
8、编译、运行
如有疑问,欢迎评论区讨论哦,我也在学习中,互相进步。