STM32定时器PWM输出简单总结
2026/4/28 10:22:30 网站建设 项目流程

PWM输出

脉冲宽度调制模式可以生成一个信号,该信号频率由TIMx_ARR自动重载寄存器值决定,其占空比则由TIMx_CCRx捕获比较寄存器值决定。

通过向TIMx_CCMRx寄存器中的OCxM位写入110(PWM模式1)或111(PWM模式2),可以独立选择各通道(每个OCx输出对应一个PWM)的PWM 模式。必须通过将TIMx_CCMRx寄存器中的OCxPE位置1使能相应预装载寄存器,最后通过将TIMx_CR1寄存器中的ARPE位置1使能自动重载预装载寄存器。

由于只有在发生更新事件时预装载寄存器才会传送到影子寄存器,因此启动计数器之前,必须通过将TIMx_EGR寄存器中的UG位置1来初始化所有寄存器。

比较器输出OCx极性配置

比较输出信号OCx的极性可使用TIMx_CCER寄存器的CCxP位来编程。既可以设为高电平有效(置0),也可以设为低电平有效(置1)。OCx输出通过将TIMx_CCER寄存器中的CCxE位置1来使能。有关详细信息,请参见TIMx_CCERx寄存器说明。

OCx的极性控制位CCxP指示了有效状态是高电平,还是低电平。那什么是有效状态?则需要看TIMx_CCMRx寄存器的OCxM输出比较模式配置。

总结就是,PWM模式1为计数值CNT小于CCR的值为有效状态,大于为无效状态。

PWM模式2则相反,计数值CNT小于CCR的值为无效状态,大于为有效状态。

边沿对齐与中心对齐

根据TIMx_CR1寄存器中的CMS位状态,定时器能够产生边沿对齐模式或中心对齐模式的PWM信号。

边沿对齐,计数模式工作在递增模式或递减模式。中心对齐,计数模式工作在交替递增递减模式。

关于为什么叫中心对齐一直不是很理解,只是觉得在一个计数周期内,波形是中心对称的,如上图所示。如果一个波形一直高低高低的变化下去,感觉除了开头,顺起来以后和边沿对齐也没有区别啊。后来,上网看到一篇文章测试是不是配置好了中心对齐,要用示波器测试两路比较器OC输出,这才恍然大悟。所谓对齐,是说的多个比较器输出的对齐。看下面这张图,OC1与OC2两种模式下的频率与占空比没有变,大家感受下边沿对齐与中心对齐的区别。

关于中心对齐的好处自己还没有深刻的体会,欢迎大家在评论区讨论,有说的不对的地方也请大家指教。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询