打印
[技术问答]

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

[复制链接]
1911|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更新比较值即可 ...

如果是用单缓存, 三角波计数模式,在谷顶中断中更新计数器的值,在谷底进行数据传输,这样的设置可以吗?谷顶中断是哪个中断标志?

使用特权

评论回复
5
caigang13| | 2024-4-2 08:04 | 只看该作者
是可以在中断中更新比较器的值

使用特权

评论回复
6
newiot|  楼主 | 2024-4-2 08:50 | 只看该作者
caigang13 发表于 2024-4-2 08:04
是可以在中断中更新比较器的值

我发现有些数据的脉冲丢失,不知是什么原因。

使用特权

评论回复
7
xch| | 2024-4-2 15:54 | 只看该作者
根据实际情况而定。比如上行计数模式,新比较值大于旧比较值时,在比较中断服务时更新比较值就有风险。

使用特权

评论回复
评论
libinskk 2024-4-30 09:37 回复TA
可以在计数器上溢出,或下溢出,或上下溢出时中断,然后在中断函数里写算法,修改下一个PWM的计数比较值。 
8
feifeifeichang| | 2024-4-25 09:27 | 只看该作者
又学到一点

使用特权

评论回复
9
stormwind123| | 2024-8-12 16:44 | 只看该作者
参考HC32F4A0系列MCU的官方文档和库函数说明

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

79

帖子

1

粉丝