[技术问答] F4A0,TIMER4输出U,V,W的互补信号,可以在中断中更新比较器的值吗?

[复制链接]
2389|9
 楼主| newiot 发表于 2024-4-1 15:12 | 显示全部楼层 |阅读模式
本帖最后由 newiot 于 2024-4-1 15:32 编辑

F4A0,TIMER4输出U,V,W的互补信号,可以在中断中更新比较器的值吗?
有没有例子?
liangzhou1988 发表于 2024-4-1 18:05 | 显示全部楼层
本帖最后由 liangzhou1988 于 2024-4-1 18:07 编辑

可以。在官网例程基础上,打开TMR4 溢出中断,在中断服务函数中调用TMR4_OC_SetCompareValue更新比较值即可;例程路径:HC32F4A0_DDL_Rev2.2.0\projects\ev_hc32f4a0_lqfp176\examples\timer4\timer4_pwm_dead_timer;HC32F4A0_DDL_Rev2.2.0下载地址:小华半导体有限公司 (xhsc.com.cn)(开发工具页面)。
 楼主| newiot 发表于 2024-4-1 20:09 | 显示全部楼层
liangzhou1988 发表于 2024-4-1 18:05
可以。在官网例程基础上,打开TMR4 溢出中断,在中断服务函数中调用TMR4_OC_SetCompareValue更新比较值即可 ...

好的,我测试下。
 楼主| newiot 发表于 2024-4-1 20:14 | 显示全部楼层
liangzhou1988 发表于 2024-4-1 18:05
可以。在官网例程基础上,打开TMR4 溢出中断,在中断服务函数中调用TMR4_OC_SetCompareValue更新比较值即可 ...

如果是用单缓存, 三角波计数模式,在谷顶中断中更新计数器的值,在谷底进行数据传输,这样的设置可以吗?谷顶中断是哪个中断标志?
caigang13 发表于 2024-4-2 08:04 来自手机 | 显示全部楼层
是可以在中断中更新比较器的值
 楼主| newiot 发表于 2024-4-2 08:50 | 显示全部楼层
caigang13 发表于 2024-4-2 08:04
是可以在中断中更新比较器的值

我发现有些数据的脉冲丢失,不知是什么原因。
xch 发表于 2024-4-2 15:54 | 显示全部楼层
根据实际情况而定。比如上行计数模式,新比较值大于旧比较值时,在比较中断服务时更新比较值就有风险。

评论

可以在计数器上溢出,或下溢出,或上下溢出时中断,然后在中断函数里写算法,修改下一个PWM的计数比较值。  发表于 2024-4-30 09:37
feifeifeichang 发表于 2024-4-25 09:27 | 显示全部楼层
又学到一点
stormwind123 发表于 2024-8-12 16:44 | 显示全部楼层
参考HC32F4A0系列MCU的官方文档和库函数说明
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

80

帖子

1

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