今天学习了输出比较。
OC(Output Compare)输出比较
输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形
每个高级定时器和通用定时器都拥有4个输出比较通道,CCR是捕获、比较寄存器。
说到它不得不提及PWM
PWM(Pulse Width Modulation)脉冲宽度调制
定义
- 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域原理
原理
- 电机断电后不会立即停止还会继续转动一段时间,LED熄灭的时候由于人眼视觉暂留现象,不会立马熄灭
PWM参数:频率 = 1 / TS (高低电平变换周期)
占空比 = TON / TS
分辨率 = 占空比变化步距
上图蓝线表示CNT,红线表示CCR,黄线表示ARR
CNT不断自增,在0~29范围内,处于高电平,CNT>=CRR时,处于低电平,当达到ARR时,清零重新自增。
- PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)
- PWM占空比: Duty = CCR / (ARR + 1)
- PWM分辨率: Reso = 1 / (ARR + 1)