中断里面是先执行任务呢还是先清除中断标志?

2019-12-14 12:58发布

我用的stm32f407,以100khz的速度响应外部中断。然后在中断里操作spi1读写两个字节。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
HZKJ
1楼-- · 2019-12-15 08:07
 精彩回答 2  元偷偷看……
zhang0352505
2楼-- · 2019-12-15 09:00
takashiki 发表于 2018-12-11 14:40
说不影响的都是没踩过坑的,必须是先清除。否则在执行中断时又来了中断,后清除的话这次中断就丢失了。当然 ...

如果先清除了,没有处理任务,来了其他中断,其他中断执行完毕后还能回来继续执行中断吗?
如果能,那么先清除中断和先处理任务没有区别吧。
如果不能,那么这个中断就不能执行了,就丢失了。
wuha
3楼-- · 2019-12-15 10:47
laujc 发表于 2018-12-11 13:58
中断标志不是自动清除的吗?

有很多中断不是硬件自动清零的,需要手动清零。
takashiki
4楼-- · 2019-12-15 11:00
zhang0352505 发表于 2018-12-11 15:07
如果先清除了,没有处理任务,来了其他中断,其他中断执行完毕后还能回来继续执行中断吗?
如果能,那么 ...

先清除了,来了其他中断,执行完毕还会继续执行中断,不会丢失。
先清除的,然后来了同一个中断,则在执行完该中断后再执行一次,中断不会丢失。
但是后清除的,如果来的是同一个中断,因为发生了中断结果标志被清除了,后来的中断就被丢失了。
HZKJ
5楼-- · 2019-12-15 12:58
takashiki 发表于 2018-12-11 16:26
先清除了,来了其他中断,执行完毕还会继续执行中断,不会丢失。
先清除的,然后来了同一个中断,则在执 ...

好,讲的够详细。。。
沉默胜过白金
6楼-- · 2019-12-15 15:54
 精彩回答 2  元偷偷看……

一周热门 更多>