你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32mp1 Cortex M4开发篇11:扩展板蜂鸣器控制

[复制链接]
STMCU小助手 发布时间:2022-10-1 21:18
1. 资源扩展板介绍
1.1. 硬件介绍

06466d8839585a2dbfe399bb38d14c42.jpg

1.1. 资源扩展板可开发项目


b4c8fb379efa916fadba864086419827.jpg

2.扩展板蜂鸣器控制
2.1实验原理

打开扩展板原理图对照扩展板可以看到扩展板有1个蜂鸣器SP1,如下图:

d494d8b95974cbaffa67634cbdcc0ab8.png

由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。

6fd5f0cc5cac3e10f2ed0ffda6fbcbf2.jpg

扩展板与底板接口对照图

查看原理图可知TIM4_CH1对应PB6,查看芯片手册可知PB6可以作为PWM TIMER4的通道1使用,本文实现如何通过PWM驱动蜂鸣器:
)TW(DS9T)]$CJCQT]CY~MC8.png


2.2.实验目的
了解蜂鸣器工作原理

学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制蜂鸣器

2.3.实验环境
FS-MP1A开发平台

ST-Link仿真器

STM32CubeIDE开发软件

PC机 XP、Window7/10 (32/64bit)

2.4.实验步骤
MX配置

根据原理图,配置PB6引脚设置为TIM4_CH1。切换到TIM4标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。

d4946bdf8a533510b63b6e4009442a8f.jpg

f90458147772d5ea8bc34427e0c6d91f.png

上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\10_EX_PWM_BEEP】

代码设计

找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。

将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。

0c74c51872a7146debf26b03da7d84a9.jpg

最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,可以控制蜂鸣器发出不同频率的声音。
————————————————
版权声明:华清远见IT开放实验室


收藏 评论0 发布时间:2022-10-1 21:18

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版