maplblue 发表于 2025-4-15 20:37

4A0初始化后修改比较值,定时器输出占空比不可控

用TIMERA_1输出4路PWM,停止TIMERA_1后修改PWM比较值,清零后再重新启动PWM,发现有一定的概率出现占空比不准确
有人遇到过类似的问题吗?

Amazingxixixi 发表于 2025-4-24 15:35

学习一下啊!感觉有点知识慌了

g0d5xs 发表于 2025-5-10 12:06

在4A0使用TIMERA_1输出4路PWM时,初始化后修改比较值出现占空比不可控的问题,可能由计数器未重载或更新延迟导致的

liu96jp 发表于 2025-5-10 13:15

确保定时器配置为自动重载模式,并在修改比较值后强制更新计数器。

ex7s4 发表于 2025-5-10 14:21

缓存机制未启用或更新不及时,未启用比较寄存器的缓存功能,或缓存值未及时更新到硬件寄存器。

b5z1giu 发表于 2025-5-10 15:30

极性配置错误,比较匹配输出极性或周期匹配输出极性配置错误,导致占空比计算逻辑异常。

lix1yr 发表于 2025-5-10 16:24

定时器中断干扰,定时器中断处理函数中修改了比较值或计数器状态,导致占空比计算错误。

t1ngus4 发表于 2025-5-10 20:01

硬件资源冲突了吧,比如多路PWM共享同一计数器或比较寄存器,导致修改一路PWM时影响其他路。

kaif2n9j 发表于 2025-5-10 22:08

调试建议使用示波器监测波形,监测PWM输出波形,确认占空比是否符合预期。检查波形是否出现异常,如占空比互补、频率错误等。

suw12q 发表于 2025-5-11 08:44

在修改比较值前后,打印自动重载值(ARR)、比较值(CCR)和计数器值(CNT),确认是否符合预期。

p0gon9y 发表于 2025-5-11 10:05

检查官方提供的PWM例程,确认配置是否正确。

tax2r6c 发表于 2025-5-11 12:56

建议查阅4A0用户手册,确认寄存器配置和功能描述。
页: [1]
查看完整版本: 4A0初始化后修改比较值,定时器输出占空比不可控