萌新的STM32学习-17 中断的基本概念2
STM32中断优先级的基本概念

抢占优先级: 高抢占优先级可以打断正在执行的低抢占优先级中断
响应优先级: 这个也叫子优先级 抢占优先级相同,响应优先级高的中断不能打断响应优先级低的中断。还有一种情况就是当两个或者多个中断的抢占式优先级和响应优先级相同时,那么就遵循自然优先级,看中断向量表的中断排序,数值越小,优先级越高。
在 NVIC 中由寄存器 NVIC_IPR0-NVIC_IPR59 共 60 个寄存器控制中断优先级,每个寄存器的 8 位,所以就有了 240 个宽度为 8bit 的中断优先级控制寄存器,原则上每个外部中断可配置的优先级为 0~255,数值越小,优先级越高。但是实际上 M3 芯片为了精简设计,只使用了高四位[7:4],低四位取零,这样以至于最多只有 16 级中断嵌套,即 2^4=16。
对于 NVCI 的中断优先级分组:STM32F103 将中断分为 5 个组,组 0~4。该分组的设置是由 SCB->AIRCR 寄存器的 bit10~8 来定义的。

特别提示: 一个工程中,一般只设置一次中断优先级分组。
这到底是怎么一个说法和分配呢
我们拿STM32中断优先级2 举例 假设分组为2
那么一共4个 分为 2部分 前面2个被称为抢占优先级 后面2个位组成 响应优先级
抢占优先级的级别高于响应优先级。而数值越小所代表的优先级就越高。
结合实例说明一下:假定设置中断优先级分组为 2,然后设置中断 3(RTC_WKUP 中断)的抢占优先级为 2,响应优先级为 1。中断 6(外部中断 0)的抢占优先级为 3,响应优先

本文详细介绍了STM32中断系统中的抢占优先级、响应优先级概念,以及EXTI线的配置和工作原理,涉及NVIC寄存器和HAL_NVIC函数的使用。通过实例阐述了中断优先级的设置和中断事件的控制机制。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



