求助 使用TIM1 高级定时器 产生PWM,修改占空比时有延迟

2021-09-01 18:49:24 字数 520 阅读 9489

1楼:0心生涟漪

tim_oc4preloadconfig(tim1, tim_ocpreload_disable); //如果使能则定时器等待下一次定时器溢出才会发生变化 -- 同步

tim_oc1preloadconfig(tim1, tim_ocpreload_disable); //不使能则会立即发生变化 -- 异步

我今天也遇到了一样的问题,翻芯片手册才看到这样,如果使能就会等待下一次定时器溢出才会发生变化,也就是同步变化,不使能就会立刻变化了。

望采纳。

2楼:

这一点都不奇怪, pwm 信号是 ccrx 跟 cnt 寄存器比较匹配后, 波形发生翻转才出现了 pwm 信号.虽然程序修改了 ccr 寄存器, 这个是立即完成的, 但是 cnt 是计数器, 并不马上跟上 ccr, 而是要计数到匹配 ccr, 才引起 pwm 的波形, 这段时间还并不确定. 另外 pwm 的占空比要等定时器继续计数完成一个周期后, 才能观察出准确变化, 这又是个延迟时间 查看原帖》