[AT32F421] 开启定时器后,第一个输出的PWM周期不受死区设置影响

[复制链接]
376|5
小HU狸 发表于 2025-10-16 17:50 | 显示全部楼层 |阅读模式
求大佬指导
我在配置定时器后和死区设置后,开启定时器,但通过示波器观察到,第一个PWM周期不受死区影响。
有没有刚好知道这个问题原因的大佬刚好路过,刚好原因帮助我这个行业新人呀!
懒癌晚期患者 发表于 2025-10-17 09:57 | 显示全部楼层
我之前也遇到过类似的问题,检查一下你的PWM初始化代码,确保在启动定时器之前,PWM的占空比和相位已经按照你的死区要求设置好了。
dffzh 发表于 2025-10-17 09:12 | 显示全部楼层
应该是时序先后问题导致的,可以尝试按下面方法修改一下:
在启动前产生一个软件更新事件,即通过产生一个软件更新事件(UEV),可以强制在定时器启动前,就将所有预装载寄存器的值刷新到影子寄存器中,让定时器在一个稳定的状态下开始第一个周期。


xch 发表于 2025-10-17 11:31 | 显示全部楼层
可能是需要UPDATE一下。设置寄存器只是表面现象,有的设置只是存在影子寄存器中,UPDATE之后才写入实际寄存器。
可以用软件配置控制寄存器强制产生一个 UPDATE 事件。
codingtuzi 发表于 2025-10-17 11:39 来自手机 | 显示全部楼层
要先disable,设置参数,再开启对应标志位
捉虫天师 发表于 2025-10-17 15:17 | 显示全部楼层
所有设置完成后再启动PWM
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部