定时器支持PWM输出,除通用定时器外,基本都支持抖动模式(Dithering),其正是实现高精度定时器的关键。
示例工程:
①打开STM32CubeMX,配置定时器1:
关键参数为Dithering设置成Enable,Fractionnal_Period/16设置为15(注意Fractionnal_Period/16的设置范围为0-15)。
如果未打开抖动模式(Dithering),普通情况下一个周期记840个数;
但打开抖动模式后,这里将记840 * (Fractionnal_Period/16 + 1)= 840 * 16 个数;
②使用生成代码后在初始化添加:
即可生成50%的PWM。
至此验证完成。
注意事项:
1、抖动模式(Dithering)下,按照上述设置,其计数最大值为(840 * 16) - 1,而不是(840 - 1) * 16。
2、CCR寄存器的赋值范围扩大到0 - (840 *16 -1),不再是原本的0 - (840 - 1)。