STM32——中断优先级分组

一、SCB-AIRCR寄存器

首先,对STM32中断进行分组,0——4.同时,每个中断设置一个抢占优先级和一个响应优先级。
 

STM32——中断优先级分组_第1张图片

1、 高抢占可以打断正在执行的低抢占
2、 抢占相等,高响应不能打断低响应
3    抢占相等,两个中断同时发生,高响应先执行
4、 抢占和响应都相等,先来先执行

注意:中断优先级分组一般只进行一次。随意改变会产生意想不到的执行结果。

二、中断优先级分组函数

void NVIC_PriorityGroupConfig(nint32_t NVIC_PriorityGroup)
{
 assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
 SCB->AIRCR=AIRCR_VECTKEY_MASK|NVIC_PriorityGoup;
}

例如:NVIC_PriorityGroupConfig(NVIC_PriorityGoup_2);//分组二

三、中断优先级设置步骤

STM32——中断优先级分组_第2张图片

 

你可能感兴趣的:(学习)