本帖最后由 JhonsonChou 于 2022-10-31 16:39 编辑
最近调定时器PWM时遇到一个问题,就是用DMA连续模式循环修改PWM占空比时发现周期也被改变了,后面发现是中央对齐模式的问题
正常来说,配置定时器触发DMA修改占空比,触发源通常选择定时器的Update信号,而中央对齐模式下,一个PWM周期内是会产生两次Update信号的
所以当这两次Update信号均作为DMA的触发信号时,在一个PWM周期内,比较值会被修改两次
我们想要循环多次改变占空比,当然是选择一个周期修改一次比较值
解决方法有两个,一个就是将中央对齐模式更改为向上或者向下计数模式,另一个就是当这个计数器为高级定时器时,可以选择配置重复计数值为1,这样的话两次Update信号才会触发一次DMA,亦可解决该问题
附件是将中央对齐模式改为向上计数模式的示例代码,仅供参考
Nations.N32G430_Library.1.0.0_TIM1DMA.rar
(9.43 MB)
|