[应用相关] HAL_无源蜂鸣器的驱动

[复制链接]
1041|4
 楼主| tpgf 发表于 2023-6-19 13:52 | 显示全部楼层 |阅读模式
1、开发环境
(1)KeilMDK:V5.38.0.0

(2)STM32CubeMX:V6.8.1

(3)MCU:STM32F407ZGT6

2、无源蜂鸣器简介
        无源蜂鸣器内部没有振荡源,需要采用一定频率的方波才能驱动发声。

八、51单片机之蜂鸣器_51蜂鸣器_朱嘉鼎的博客-CSDN博客
蜂鸣器简介无源蜂鸣器示例程序
https://blog.csdn.net/weixin_42727214/article/details/128193629

3、实验目的&原理图
3.1、实验目的
(1)使蜂鸣器发出人耳可听到的声音。

3.2、原理图
(1)BEEP接PF8。

(2)三极管的作用是因为单片机引脚驱动能力不够,通过BEEP引脚控制三级管的开关。

80674648febd566e58.png

4、STM32CubeMX创建工程及配置
4.1、新建工程
(1)打开STM32CubeMX软件。

(2)点击File→NewProject。


66608648febddf39fa.png
(3)Commercial Part Number(商用部件号)处输入MCU型号,然后选择正确的单片机型号,点击Start Project(开始项目)。
94740648febe3c39a4.png


(4)配置工程名、工程存放文件等。

点击Project Manager(项目经理)进行如下配置。

58652648febe9739f5.png

点击Code Generator(代码生成器)进行如下配置。
96065648febee3a81e.png

(5)点击GENERATE CODE生成KeilMDK工程。

4.2、配置时钟和GPIO
(1)HSE、LSE时钟源选择

HSE:高速外部时钟源
LSE:低速外部时钟源
Disable:禁用
BYPASS Clock Source:旁路时钟源
Crystal/Ceramic Resonator :水晶/陶瓷共振器
一般选择水晶陶瓷共振器
旁路时钟源就是由外部给定一个时钟信号,一般用于作为同步时钟。
水晶/陶瓷共振器:指外接晶振,经过内部振荡电路产生时钟。

16775648febf607d83.png
(2)GPIO配置如下

15720648febfd1529f.png

(3)时钟树配置
53050648fec0400bf2.png
(4)配置完需要重新点击GENERATE CODE更新KeilMDK代码。

5、KeilMDK软件编写部分
5.1、程序编写
HAL_GPIO_WritePin(Beep_GPIO_Port, Beep_Pin, GPIO_PIN_RESET);
HAL_Delay(2);
HAL_GPIO_WritePin(Beep_GPIO_Port, Beep_Pin, GPIO_PIN_SET);
HAL_Delay(2);

15557648fec0c287a5.png
5.2、完整工程下载地址
(1)完整工程存储在码云。

(2)STM32_CSDN: CSDN中STM32专栏的所有示例代码
609648fec1666ac4.png

————————————————
版权声明:本文为CSDN博主「朱嘉鼎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42727214/article/details/131042621

Pretext 发表于 2023-6-19 19:09 | 显示全部楼层
直接用GPIO驱动无源蜂鸣器呀。。。
朝生 发表于 2023-6-19 19:10 | 显示全部楼层
教程挺好,主要就是在配置部分。
芯路例程 发表于 2023-6-19 19:11 | 显示全部楼层
下回来个定时器驱动的呗~
Henryko 发表于 2023-6-19 21:49 | 显示全部楼层
Pretext 发表于 2023-6-19 19:09
直接用GPIO驱动无源蜂鸣器呀。。。

蜂鸣器功耗不大应该可以吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17635

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部