STM32定时器中断标志位在什么时候清除比较好?

2019-10-14 23:06发布

用STM32写了一个8通道输入捕获PWM的程序,使用的定时器2/4共8个通道来作为输入捕获中断通道的,基本上就完成这一个功能,所以基本上都是在中断中来处理的,所以中断里的代码有点长,那么在进定时器中断后是立即清除中断标志位好,还是在出中断之前最后一步再清除中断标志好呢?
定时器四个通道的中断处理函数一样,要在中断里面判断是哪个通道发生的捕获中断,并相应的处理,清除这个通道上的中断,如图:
QQ截图20170227155147.png
中断清除放在哪比较合适呢?

还有就是在处理第一通道的时候,第二通道也可能发送捕获中断,不知道中断是否能重入。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-10-15 04:31
就看你的程序要求了,放最前面,可以立即清除,下一次中断来的早(还在处理中断),那么还可以记录一次。   下一次可以继续接收。  放最后,那么下一次中断如果来得早,那么就会丢失一次中断。不过,如果你中断里面一次处理不过来,后续如果是规律性的中断,那么无论你放前面,还是放后面,都会丢失。。。
chenjiawei7
2楼-- · 2019-10-15 09:54
昨天代码跑了两个小时,感觉突然出错了一次,复位后正常,然后就没有在发送错误
chenjiawei7
3楼-- · 2019-10-15 14:59
 精彩回答 2  元偷偷看……

一周热门 更多>