PWM 冻结模式 模式1 强制输出有效电平 强制输出无效电平 设置有效电平 实现闪烁灯
目录
- 前言
- PWM各种寄存器介绍
- 设置有效电平
- 强制为无效电平 强制为有效电平
- 冻结模式
- 模式1 模式2
前言
LED闪烁需要定时器或delay实现,非常繁杂,效率低。使用PWM输出一个占空比为50%的方波信号使LED灯闪烁更加简洁高效。
注意:GPIO初始化与PWM输出的初始化互斥
PWM各种寄存器介绍
CCMR寄存器有8个,CCER寄存器有4个,有PWMA和PWMB之分。PWM通道很多,使用不同的通道,他们的配置寄存器也不同,注意使用正确的寄存器。
例如:
OC1M是通道1
OC5M是通道5
二者在CCMR1寄存器中,其它6个通道类似
CCER寄存器中低四位设置1个通道,高四位设置另1个通道,设置时也要注意寄存器的名称易弄错
设置有效电平
CCxP:0(默认)高电平为有效电平,低电平为无效电平。
CCxP:1低电平为有效电平,高电平为无效电平。
强制输出模式的输出受有效电平影响。
强制为无效电平 强制为有效电平
此二种模式,引脚输出的电平不会根据方波信号改变,只会强制输出为有效电平,或者无效电平,那么还需要配置CCxP,设置有效电平为高电平还是低电平。
冻结模式
CNT继续计数,但是计数值不会比较,也就不会输出方波,那么引脚电平不会改变
模式1 模式2
引脚会周期性的输出高低电平,这个周期性由占空比决定。正半周期输出高,负半周期输出低;或者,正半周期输出低,负半周期输出高。这些是模式1与模式2的不同之处,LED闪烁灯无须在意这个设置。