中断

中断

抢占优先级和响应优先级详解

1,抢占优先级(pre):高抢占优先级可以打断正在执行的低抢占优先级中断

2,响应优先级(sub):当抢占优先级相同时,响应优先级高的先执行,但是不能互相打断

3,抢占和响应都相同的情况下,自然优先级越高的,先执行

4,自然优先级:中断向量表的优先级

5,数值越小,表示优先级越高

  • 优先级分组
优先级分组 AIRCR[10:8] IPRx bit[7:4]分配 分配结果
0 111 None :[7:4] 0位抢占优先级,4位响应优先级
1 110 [7] :[6:4] 1位抢占优先级,3位响应优先级
2 101 [7:6] :[5:4] 2位抢占优先级,2位响应优先级
3 100 [7:5] :[4] 3位抢占优先级,1位响应优先级
4 011 [7:4] :None 4位抢占优先级,0位响应优先级

注:一个工程中,一般只设置一次中断优先级分组

  • 例子讲解

image-20240309151009931

由上图,RTCEXTI1的抢占优先级都为2,在这四个里面是最高的,而RTC的响应优先级没有EXTI1的响应优先级高,因此先执行EXIT1再执行RTC,再看EXTI0Systick,这两个的抢占和响应的优先级都一样,因此看对比他们的自然优先级,由于Systick的自然优先级高于EXIT0,所以执行顺序是S有stick先然后才是EXIT0

其他补充请看这篇文章:stm32的抢占优先级和响应优先级(也叫子优先级)_stm32抢占优先级和子优先级概念-CSDN博客

中断思维导图

1

该思维导图来自正点原子官方下载的资料

posted @ 2024-03-09 22:14  ihuahua1415  阅读(213)  评论(0)    收藏  举报
*/