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

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

[复制链接]
STMCU小助手 发布时间:2022-10-1 21:18
1. 资源扩展板介绍2 g1 K+ Y8 [- q
1.1. 硬件介绍+ e0 C, O% q* [! q; E. Z
" K4 o( V- O5 M' {) D
06466d8839585a2dbfe399bb38d14c42.jpg
* ]3 \2 _) k6 @( u/ U+ h7 O" S" v; {! |
1.1. 资源扩展板可开发项目
! o+ `2 Z4 R. C8 j& G1 L
% }6 X( M9 V- @
b4c8fb379efa916fadba864086419827.jpg
# |; N: e' i0 g: [: T- m* [! a
2 }, l5 M' m% Q' o, h, H  V2.扩展板蜂鸣器控制$ s9 d( Y" O4 Z) h! X
2.1实验原理
+ e' {; `+ C. Y# k% Z3 }
打开扩展板原理图对照扩展板可以看到扩展板有1个蜂鸣器SP1,如下图:) M6 a- i5 a. H* n
+ f! |% D& G: k
d494d8b95974cbaffa67634cbdcc0ab8.png
* m: q) r% m* H# y# P# G1 ]' X0 o4 Z- e" }+ Y+ a) l0 }
由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。
  B' i! w5 Y. G; s
3 i2 F0 s8 }: Y 6fd5f0cc5cac3e10f2ed0ffda6fbcbf2.jpg
4 K3 |" y  J! F* p2 d7 C
5 x; D* ?! O+ M8 }  O, z扩展板与底板接口对照图
. J6 z* M/ V2 A/ O  s7 c
7 I% z4 u- w+ [( N查看原理图可知TIM4_CH1对应PB6,查看芯片手册可知PB6可以作为PWM TIMER4的通道1使用,本文实现如何通过PWM驱动蜂鸣器:+ g8 Q( M& B: ~; Y, E
)TW(DS9T)]$CJCQT]CY~MC8.png 3 x" a2 m1 r. ]; b5 j

9 a7 N# d6 h* x: V2 {  ^6 x# Q( q, X8 s9 z
2.2.实验目的
1 d2 ^  E' n5 j1 M了解蜂鸣器工作原理2 F. z6 R# g  ]' q4 D* @! w1 m3 d

1 J* b; ^# T6 c8 T8 |8 {学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制蜂鸣器
8 O3 X7 Z7 H' r. M7 t- r! y, _/ G8 l( L
2.3.实验环境- ]- e; }/ F; D9 G0 p3 H$ a( ^5 H
FS-MP1A开发平台5 x- X& E" ]5 f3 K5 a8 p- O  o* P/ t

, p8 P' T( g5 G. Y1 B  b6 p. a3 V$ DST-Link仿真器6 N# `8 K- F8 K

& @% P( z2 b! {3 \STM32CubeIDE开发软件
, v& Y4 b1 Y3 Y. D$ K" _5 {+ |7 M  e& W3 F7 n' E" q# [
PC机 XP、Window7/10 (32/64bit)
# F2 |0 f/ f, Z8 z4 Z0 A( [) V6 C* S! b" v# z# v
2.4.实验步骤/ w# _) Z5 J- z4 U
MX配置
) c# m6 |. d, O. w
( f* h( l9 p% h: G4 l# J, {1 y  @根据原理图,配置PB6引脚设置为TIM4_CH1。切换到TIM4标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。
( G! r& B% v7 e+ i, H% ~1 z
& r+ Q2 K  _! m1 ^0 a6 K4 {" A( Z d4946bdf8a533510b63b6e4009442a8f.jpg $ l7 v# z# q2 g/ C! r

$ x$ B" C6 \$ j, P' b" o0 T6 ?. s f90458147772d5ea8bc34427e0c6d91f.png 4 G' X/ H* `" v2 J- K+ t
; x& Q2 [9 j2 w9 P/ v9 q
上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\10_EX_PWM_BEEP】
. A% {* N5 W" w' ~8 D# R, T; L8 Y" Z  A9 E
代码设计' d% g4 N. r$ \0 X
( I9 }3 f/ H) V$ E% o' `" r
找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。
5 `2 }7 e1 G% T0 j+ F% ~6 I+ h3 X8 @, y3 Y. C% P
将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。
4 U( _  L* G1 A% S8 ]( K0 ~1 s+ B1 E# O' ?" x# v
0c74c51872a7146debf26b03da7d84a9.jpg
( H3 u' e2 O, P" P+ e( K, j
2 A- [$ i4 ~+ U* ?; a最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,可以控制蜂鸣器发出不同频率的声音。6 ?' K" H- ]; C! m, P7 P
————————————————4 a: |4 Y. p$ O+ Z8 z
版权声明:华清远见IT开放实验室
, I/ k  c9 Z6 ~1 L
; X9 t" Z" G  ^) p( P7 w! x) ^# o' y1 J% J4 g, P- t" N( q' f, I
收藏 评论0 发布时间:2022-10-1 21:18

举报

0个回答

所属标签

相似分享

官网相关资源

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