打印
[应用相关]

HAL_无源蜂鸣器的驱动

[复制链接]
198|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引脚控制三级管的开关。



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

(2)点击File→NewProject。



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



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

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



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


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

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

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


(2)GPIO配置如下



(3)时钟树配置

(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);


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

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


————————————————
版权声明:本文为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 | 只看该作者
下回来个定时器驱动的呗~

使用特权

评论回复
5
Henryko| | 2023-6-19 21:49 | 只看该作者
Pretext 发表于 2023-6-19 19:09
直接用GPIO驱动无源蜂鸣器呀。。。

蜂鸣器功耗不大应该可以吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1360

主题

13960

帖子

8

粉丝