接下来就是指定中断源的优先级,下面以一个简单的例子说明如何指
定中断源的抢占式优先级和响应优先级:
// 选择使用优先级分组第1 组
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
// 使能EXTI0 中断
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; // 这里原来
为 EXTI10_5_IRQChannel,但要改为EXTI10_5_IRQn
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; // 指定
抢占式优先级别1
stm32 nvic 总结!非常全,非常给力
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; // 指定响应优
先级别0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
// 使能EXTI9_5 中断
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; // 这里原来
为 EXTI9_5_IRQChannel,但要改为EXTI9_5_IRQn
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; // 指定
抢占式优先级别0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; // 指定响应优
先级别1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
|