stm32蜂鸣器代码_STM32之蜂鸣器

STM32——蜂鸣器

目标:控制蜂鸣器每隔500ms响一次

程序分析:

要控制蜂鸣器,首先打开原理图,找到beep对应的引脚,如下图,可以知道beep连接在PB8引脚上。

a4af8715b730f15bf16711419dad94b4.png

那么就要控制GPIOB,在GPIO口之前,必须要使能GPIO口时钟。查参考手册可以得知,GPIOB挂在RCC寄存器下的APB2上。(如图)

83a097ef8371f2108faf61d36b624627.png

那么步骤就是:

第一步,就需要调用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代码

f92f80f481b56adc6dce9991a8342b79.png

6、编写beep.c代码

84d3f6c8cba86ce11298c788fe04ac41.png

7、编写main.c代码

e58a7b24cb6f8515f4508b4dc298feee.png

这个主函数中还包含了“LED.h”这个头文件,目的只是想在蜂鸣器响的同时,灯闪烁。调用的灯是GPIOB pin5 这个引脚对应的灯。

delay_ms(500),为延时函数,延时500ms

8、编译、运行

如有疑问,欢迎评论区讨论哦,我也在学习中,互相进步。

  • 8
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值