
( U$ C6 N) N2 l
& ]% l* j; Q% d& N/ U4 I第一节 原理与常识 PWM简称脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、工控等方面。/ Q/ d( p1 H: b4 R9 K4 Y# }! p
PWM的频率是指在1秒钟内,信号从高电平到低电平再回到高电平的次数,也就是说1秒钟PWM有多少个周期,单位Hz。$ c3 K6 m. e8 Z1 B9 O" A4 w
PWM的周期T=1/f,T是周期,f是频率。如果频率为50Hz ,也就是说一个周期是20ms,那么1秒钟就有50次PWM周期。
) T6 {- I$ w$ N. a( X9 L占空比是一个脉冲周期内,高电平(脉宽)时间与整个周期时间的比例,单位是% (0%-100%)。/ ?6 P6 I+ Q: S$ T5 I8 t' M
一个周期的长度,如下图所示。, z* {0 S* X( \/ s
; T; t' R* ?$ i6 v/ E6 M
30443utujxw64035136450.png
6 g1 s9 v& V' T" v3 s
比方说,周期的时间是10ms,高电平(脉宽)时间是8ms,那么占空比是8/10= 80%,这就是占空比为80%的脉冲信号。
. R! Z& d% Y( t% K# r, z- p) ^第二节 硬件解读 PWM是芯片STM32G431RBT6的内部资源,我们以PA1为例:! V! c0 h3 J3 f. o: B; I

# X- r8 j1 x9 c. v* Q8 [) P第三节 CubeMX配置 第一步:将PA1配置为TIM2_CH2引脚,操作如下:' f; e' Q4 A/ i; ?
1 j% o, e, N9 Y8 z' A3 i! t- C( L' |
第二步:配置定时器参数,如下图:【注意:本教程STM32G431RBT6主频为170MHZ】
3 Y: Q* s! n2 ^4 d + C, u/ z9 B% O! L7 i
第四节 MDK代码 第一步:封装PWM函数。如下图:4 K7 X3 U. \9 R1 w
M$ U' ~. F. s! ?$ E1 t }- w4 G
第二步:在mian函数中调用。+ Z" m: Z: M7 l% a
* n o' G1 G- A* N+ G5 h0 n
第五节 实验现象 注意:请用USB线连接电脑与开发板,注意是CN2口。
" t6 p0 O5 J. C7 {* P D现象:
/ k) S' n2 k; D# \ ~1,上电8个LED闪烁一次,然后熄灭;, f) v% Y/ D+ Z/ y6 g* q1 ^' I
2,按下按键,对应的LED翻转一次;
) W( N% z4 W$ k4 e% X2 R3,LCD显示“LCD Test”,“Zhuang Shang Dian zi”等字符串,并显示按键键值;
4 p, i/ s) Z7 D$ j4,串口以9600波特率发送键值;0 d) H9 F8 X0 I: e/ B6 A' H/ }
5,当串口以9600波特率接收到最新的一位数据是偶数,LD8熄灭,反之常亮;0 W! y8 Q- t# |7 l9 k; u
6,PA1以定时器2通道2为载体产生PWM,PWM频率为1000HZ,占空比为50%。; ~# f# e3 ?1 C- S7 `; m
来源:撞上电子微信公众号
' e. |5 A$ A5 g% t7 a; i1 o版权:东莞市东城墨竹公子电子工作室
) {4 {$ J. W; A& \日期:2023.09.06: v3 G3 L4 \( o+ t" |" t8 m
==========+ {! l* D# S, o- d- k
往期回顾:【蓝桥杯嵌入式】第八章 串口接收
8 b* u4 E9 X! m. f a9 y8 q【蓝桥杯嵌入式】第七章 串口发送
/ `: s5 @% ?% n" I* c【蓝桥杯嵌入式】第六章 串口理论知识
} h: D6 M+ f3 Y1 [6 O【蓝桥杯嵌入式】第五章 LCD; S: h9 o5 o) L( Y
【蓝桥杯嵌入式】第四章 按键& B! ~7 q% r; G$ a3 J/ C9 M4 E9 Q
==========
$ s9 z8 O/ Y1 c/ K/ @0 G
, D( r! ^7 J' V0 U! U, L5 u+ ?+ a/ E- f0 _6 p7 F9 `
! K( p0 l3 h# i( w" p$ I9 w |