给你个参考:
在LPC1768中,设置2路PWM输出,channel0控制PWM的周期,channel1,channel2输出,当我在PWM的channel0的中断中只改变channel1的占空比,居然导致了整个PWM的周期发生微小变化(50us的周期,变为53.22us),但是如在主循环函数里,改变占空比,对周期没有任何影响,请问,有知道这是什么原因吗?我的猜想,是不是进入中断后,处理方式不对,我进入中断后先disable channel1,然后改变占空比,再enable channel1,结果依然如此.
必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1 寄存器的ARPE 位,( 在向上计数或中心对称模式中) 使能自动重装载的预装载寄存器。(pdf原文)
LPC1768改变时也得锁定。
你看看数据手册吧。