假如执行一个通信中断时,突然来了一个更高优先级的中断,此时会出现什么情况?

2019-07-21 00:17发布

原子哥好!        假如有一个通信中断来了,那么利用串口发送一串数据,但是数据刚发出几个,结果突然来了一个更高优先级的一个外部中断,那么此时CPU是继续将当时的数据发完之后再退出通信中断去执行更高先级的外部中断,还是立马停下来,先去把外部中断执行完后再回来接着把剩余的几个没发完的数据再接着发出去?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
openedvadmin
1楼-- · 2019-07-21 18:05
lili0231 发表于 2016-1-13 14:02
有现场保护究竟是会接着上次没发完的数据后再接着发????
---------------------------------还是重 ...

程序执行到哪里。就从哪里中断。
openedvadmin
2楼-- · 2019-07-21 19:20
 精彩回答 2  元偷偷看……
openedvadmin
3楼-- · 2019-07-21 19:39
所以你如果多个中断,你要设置好优先级,考虑好这种可能被打断的情况。。。
并且一般中断里面程序执行时间不宜过长。
lili0231
4楼-- · 2019-07-22 01:32
openedvadmin 发表于 2016-1-13 22:03
程序执行到哪里。就从哪里中断。

那我理解就是接着上次没发完的部分再发出去就行了。之前发出去的就算是发走了,只需要把剩下的发完就完事了???
openedvadmin
5楼-- · 2019-07-22 04:41
 精彩回答 2  元偷偷看……
openedvadmin
6楼-- · 2019-07-22 08:18
其实这个东西不难测试了。
你弄一个中断A,发送数据。中断B用按键触发,中断B你把时间设置长一点,等A中断执行的时候触发B中断,再去看看过程即可知道。。。。

一周热门 更多>