一、PWM输出高低电平的基本原理:


PWM输出的原理(自己学习)_单片机、嵌入式


ARR是自己设置的一个值,假设ARR设的是100,从计数器CNT的0开始输出,然后PWM输出的CCRx(假设为60)会与计数器累加后的值比较,出现两种结果:

当计数器的值小于60时,IO口就输出低电平;(高低电平可以通过自己设置)

当计数器的值大于60时,IO口就输出高电平;

这就是图中IO口高低电平的输出曲线。

也就是说设置的ARR是一个周期,而CCRx是自己设置的一个占空比,通过这个占空比,可以调节低电平或者高电平在一个周期里面所占用的比例。


二、PWM的模式。


PWM输出的原理(自己学习)_单片机、嵌入式_02


PWM输出的原理(自己学习)_单片机、嵌入式_03

例如:

PWM模式1:

如果递增时,计数器CNT的值小于CCRx,那么通道CH就是有效,即如果把CCER:CC1P设置为高电平有效(通过自己设置成0),那么就是当CNT<CCRx时,会输出高电平。


总结:PWM模式决定,在什么条件下,电平为有效,可以用了。(比如:在PWM1中,当CNT<CCRx时,有效)

CCER:CC1P决定,有效电平是高电平还是低电平。(0:高电平有效;1:低电平有效。)