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

2019-07-21 00:17发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
openedvadmin
1楼-- · 2019-07-21 04:51
对于STM32,我们的中断优先级管理内容,手册和视频讲解都很详细。
抢占优先级:控制抢占。也就是打断
响应优先级:控制同时发生谁先响应

如果一个中断A正在执行,那么,如果另一个更高抢占优先级的中断B发生,那么之前的中断A会被打断,优先执行抢占优先级高的B中断。等B结束之后再回过去执行A。。。
xuande
2楼-- · 2019-07-21 09:10
 精彩回答 2  元偷偷看……
lili0231
3楼-- · 2019-07-21 09:25
openedvadmin 发表于 2016-1-13 21:40
对于STM32,我们的中断优先级管理内容,手册和视频讲解都很详细。
抢占优先级:控制抢占。也就是打断
响 ...

如果这个通信数据刚发送了一半就被打断了,那么回到该通信中断时,是接着上次没发完的再发还是重新再来一起再发?
openedvadmin
4楼-- · 2019-07-21 14:30
有现场保护的。。。所以对于这种,你要设置好优先级。。。
lili0231
5楼-- · 2019-07-21 14:48
 精彩回答 2  元偷偷看……
xuande
6楼-- · 2019-07-21 16:38
 精彩回答 2  元偷偷看……

一周热门 更多>