STMCU小助手
发布时间:2022-10-1 21:18
|
1. 资源扩展板介绍 1.1. 硬件介绍3 j1 e" F( M ~8 U) c/ j$ k& F
1.1. 资源扩展板可开发项目
: G8 l( z" z3 ?$ P" o% i$ j% | C" Y 2.扩展板蜂鸣器控制 2.1实验原理 打开扩展板原理图对照扩展板可以看到扩展板有1个蜂鸣器SP1,如下图:
由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。0 m8 e. X) B8 e& R1 f0 |) A/ Y; O: I
扩展板与底板接口对照图# ~% e7 C$ v1 I7 v# {% q( ? 查看原理图可知TIM4_CH1对应PB6,查看芯片手册可知PB6可以作为PWM TIMER4的通道1使用,本文实现如何通过PWM驱动蜂鸣器:/ Y# D1 u: k5 u$ ^! P! E# M6 q
/ X4 x3 u9 T! m9 `2 H) p 2.2.实验目的 W( T. d1 X1 I ~/ y 了解蜂鸣器工作原理 * n: r) f1 N7 B. u8 ~* K 学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制蜂鸣器 2.3.实验环境! h9 D6 e) h; M/ X5 f9 V& I FS-MP1A开发平台 ST-Link仿真器7 M5 _% v) ^, X2 P& H! M6 y5 K STM32CubeIDE开发软件 . H1 T) E, x& U Z# F1 e PC机 XP、Window7/10 (32/64bit) , w3 _; J+ ]8 e5 @; e6 ~ 2.4.实验步骤& z, J+ J* v+ @- u. @# I8 q. f% `( j( p MX配置( ~' x# M- ^4 x & l: l. V6 x( ^* s, d 根据原理图,配置PB6引脚设置为TIM4_CH1。切换到TIM4标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。
1 R) U' `0 R; Y# Z' v# V 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\10_EX_PWM_BEEP】 5 o( Q7 U! t4 ~ 代码设计$ A" a, B( M @- q0 D / x y6 M( {& e$ j9 p, P0 a 找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。 & H! ?. Y Y2 [1 g. }6 U+ V" x- ? 将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。 9 k5 |0 X% U1 D$ T/ w
0 N! j, j- U6 z" |5 y( S1 Y! D 最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,可以控制蜂鸣器发出不同频率的声音。 ———————————————— 版权声明:华清远见IT开放实验室+ k( [/ m7 H& Z7 C7 }( n u 0 A' D! y& m7 S* V |
STM32MP157双A核Linux + 自研RTOS双系统镜像免费下载
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
兔哥心中的ST中文论坛
我心中的ST中文论坛
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
深度拆解 STM32MP1 Boot 链路
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
STM32--STM32 微控制器详解
微信公众号
手机版