找回密码
 立即注册

QQ登录

只需一步,快速开始

请问一次EPWM_IRQ 会产生两次中断吗?M467

查看数: 1178 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
匿名
发布时间: 2024-1-17 14:16

正文摘要:

请问一次EPWM_IRQ 会产生两次中断吗? void EPWM0P0_IRQHandler(void) {     FW_M.RUN_end = 1;     FW_M.RUN_cnt++;     printf("axis acc irq %d %d\r\n",FW_M.RUN_end,FW_M.RUN_cn ...

回复

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

回复 chrishu 发表于 2024-1-18 11:51:35
游客 121.29.98.x 发表于 2024-1-17 16:39
如果我想实现 一次性 发20万个脉冲,最好用什么中断比较合适?
是在EPWM中断里面进行累加计数?
还是多次 ...

进中断频繁会增加程序的负担。
可以采用累加中断。但是会存在记录值与实际有误差。因为产生累加中断,累加器已经停止计数,中断里清除累加中断标志后,它才会重新开始计数。而这个过程PWM并没有停止输出脉冲。进中断的次数越多漏记的脉冲个数越多。
一开始指使能累加器中断,倒数第二次进中断的时候可以使能累加器停止功能。
hidden
回复 游客 发表于 2024-1-17 16:39:32
chrishu 发表于 2024-1-17 16:28
中断源有很多个,0点、周期点、上比较点、下比较点、累加器等都可以产生中断,主要看你使能了什么中断
...

如果我想实现 一次性 发20万个脉冲,最好用什么中断比较合适?
是在EPWM中断里面进行累加计数?
还是多次记录ACC的中断?
回复 chrishu 发表于 2024-1-17 16:39:12
游客 121.29.98.x 发表于 2024-1-17 15:27
如何控制任意脉冲个数,感觉新唐应该在EPWM搞出来32bit的计数器。16bit只能到65535,是不是有时候不好用? ...

EPWM的累加计数器是16位的,可以计数到65536个脉冲。主要用于计数值到后停止EPWM、产生中断或触发PDMA
你是什么应用需要一次记录超过65536个脉冲呢?
如果说只是为了记录脉冲个数,可以设置累加中断,中断里再二次累加
回复 chrishu 发表于 2024-1-17 16:28:35
中断源有很多个,0点、周期点、上比较点、下比较点、累加器等都可以产生中断,主要看你使能了什么中断
hidden
回复 游客 发表于 2024-1-17 15:27:31
如何控制任意脉冲个数,感觉新唐应该在EPWM搞出来32bit的计数器。16bit只能到65535,是不是有时候不好用?
新唐MCU