(三) STM32 外部中断的原理与应用( 三 )


第1种:最高1位用来配置抢占优先级 , 低3位用来配置响应优先级 , 表示有2种级别的抢占优先级(0级 , 1级)有2的3次方共8种响应优先级 , 即在16种中断向量之中 , 有8种中断的抢占优先级都为0级 , 而它们的响应优先级分别为0~ 7其余8种中断的抢占优先级则都为1级 , 响应优先级别分别为0~7 。
第2种:2位用来配置抢占优先级 , 2位用来配置响应优先 , 即2的2次方共4种抢占优先级 , 2的2次方共4种响应优先级 。
第3种:高3位用来配置抢占优先级 , 最低1位用来配置响应优先级 , 即有8种抢占优先级 , 2种响应优先级 。
第4种:所有4位用来指定抢占优先级 , 即16种中断具有不相同的抢占优先级 。


可以通过调用STM32固件库中的函数NVIC_PriorityGroupConfig()选择使用哪种优先级分组 , 这个函数有5个参数:

#define NVIC_PriorityGroup_0 ((uint32_t)0x700) //选择第0种
#define NVIC_PriorityGroup_1 ((uint32_t)0x600) //选择第1种
#define NVIC_PriorityGroup_2 ((uint32_t)0x500) //选择第2种
#define NVIC_PriorityGroup_3 ((uint32_t)0x400) //选择第3种

推荐阅读