1. STM32的定时器的PWM模式使用TIMx_ARR寄存器控制PWM输出的频率,使用TIMx_CCRx寄存器控制PWM输出的占空比,如果需要移相,只需要在希望移动相位的时刻临时增加或减少TIMx_ARR寄存器的内容,过一个周期之后再恢复TIMx_ARR的内容即可。
这个办法很好, 当然影子寄存器可以屏蔽掉的.
其实还有用一个定时器的办法. 用两个通道, 双边沿方式计数, 一个通道50% 不用变, 另一个通道通过修改 CCRx 在上升沿和下降沿不同的值来实现.
对比: 方法1 软件相对简单一些, 但缺点是移相多少不能直接知道. 出错概率大, 恢复同步的操作不方便
|