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

发布网友

我来回答

2个回答

热心网友

TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Disable);//如果使能则定时器等待下一次定时器溢出才会发生变化 -- 同步
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Disable);//不使能则会立即发生变化 -- 异步
我今天也遇到了一样的问题,翻芯片手册才看到这样,如果使能就会等待下一次定时器溢出才会发生变化,也就是同步变化,不使能就会立刻变化了。
望采纳。

热心网友

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com