0
请教芯片DSP2835,手动清除中断标志位应该放在中断子程序的什么位置?是子程序的开头还是先执行程序后放在程序的结尾处?以上两者具体有什么不同,本人菜鸟,第一次发帖,请教高人指点?
0
2020-6-2 16:10:46
评论
淘帖0
举报
相关推荐
• 串口中断需要清除标志位吗,串口中断标志位会自动清除吗
3337
• 为什么要在中断服务函数中清除中断标志位
3912
• STM32串口空闲中断,中断标志位无法清除
31
• 清除EUSART接收中断标志
2252
• Dsp28335中断的方法
16
• 中断服务程序中相关SR的中断标志到底应该是服务前先清除还是服务后清除呢?
355
• nanopi neo gpio驱动程序清除中断标志
4000
• 请问EXTI没有清除中断标志的问题?
1303
• 使用xilinx的axi pcie如何清除中断标志位?
4075
• 为什么程序在清除中断标志后进入中断服务例程?
153
提交评论
5 个讨论
0
一般是放在结束的位置清除,如果在开头清除,在此期间再次置位的话,就会丢失中断。
2020-6-2 16:22:55
评论
举报
1#
李秋年
提交评论
0
szoldman 发表于 2020-6-3 04:35
一般是放在结束的位置清除,如果在开头清除,在此期间再次置位的话,就会丢失中断。
谢谢您的指点,可我有有些不明白了,中断函数程序没有跑完,这个中断标志怎么会再次置位呢?另外,当程序进入了中断函数后,还会不会因为受到其他中断的打扰,比如优先级更高的中断而未完成本次中断呢?还请您指点谢谢!
2020-6-2 16:35:02
评论
举报
2#
吴键洪
提交评论
0
在你清除中断后,如果有新的中断产生,它就会再次置位。中断嵌套发生的话,在更高优先级的中断完成后还会返回该中断继续执行。
2020-6-2 16:51:43
评论
举报
3#
李秋年
提交评论
0
szoldman 发表于 2020-6-3 05:04
在你清除中断后,如果有新的中断产生,它就会再次置位。中断嵌套发生的话,在更高优先级的中断完成后还会返回该中断继续执行。
在EPWM1周期中断程序中首先清除中断标志,再将EPWM1的计数器归"0",然后重新给周期寄存器赋值,比如赋值=0,由于EPWM1计数器没有停止,而中断标志已经在前面清零了,会不会没跳出中断就又重新进入EPWM1的中断了,就像是在中断中嵌入了优先级高的中断了?只不过现在这个中断时自己的中断。此时中断子程序没有完成就又重新跳入中断了?
请问高手!我说的情况会不会发生?
之前清除中断标志的位置对我的程序造成了影响,似乎是被其他中断打扰了,但是进入了中断程序就不会被其他中断打扰呀?而且中断中没有对其他中断的使能,除了对自己的控制,就是上面说的EPWM1计时器重新赋值,困惑了!还是理解的不到位!
2020-6-2 17:02:56
评论
举报
4#
吴键洪
提交评论
0
进入中断后,芯片默认会关掉全局中断,这个时候芯片会执行完当前的中断服务函数后,退出来,然后再处理在等待的最高优先级的中断。 所以如果在中断里没有打开中断嵌套的相关设置,一般都不会被打断的。
- ERIC
2020-6-2 17:19:23
评论
举报
5#
冯敬宇
提交评论
只有小组成员才能发言,加入小组>>