stm32中断 抢占优先级 和 响应优先级 有什么区别

时间:2022-03-13 15:25:47

与51不同,stm32的中断分类更灵活。51只是按先后顺序大小排列互相打断。

stm32中多了响应优先级这一概念。

stm32的中断分为 1.抢占(占先)优先级。 2.响应优先级。

1.抢占优先级。抢占优先级高的中断,可以打断抢占优先级低的中断。

2.响应优先级。抢占优先级相同的中断,响应优先级高的可以优先执行。

也许会有疑问:抢占优先级相同的中断,响应优先级高的不可以打断响应优先级低的中断。两个中断肯定是谁先来了就相应谁,两个中断不可能同时来。响应优先级又有何用呢。

其实,响应优先级主要给出了一种响应的优先队列。假设中断的抢占优先级都相同。如果有多个相同抢占优先级的中断来了 ,那么他们不会互相打断,但是他们后续的排队会按照响应优先级排队。也就是说,在第一个中断没有执行完的期间内,后续的*的响应优先级是被安排到最高等待位处理的。

这为原子操作提供了可能,也就是不可被打断的操作。

有何正误,请指!