高优先级中断可以打断低优先级中断,实现嵌套。例如:
定时器中断优先级高于按键中断。
在处理按键中断时,定时器中断仍然能及时响应。
中断嵌套示例
c
复制代码
void EXTI0_IRQHandler(void) {
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); // 按键中断逻辑
HAL_Delay(1000); // 延迟模拟处理时间
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
}
void TIM2_IRQHandler(void) {
// 高优先级中断
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0); // 定时器中断逻辑
HAL_TIM_IRQHandler(&htim2);
}
配置:
定时器中断优先级为 1。
按键中断优先级为 3。
在按键处理中,定时器中断仍会抢占。
|