[STM32F4] 中断嵌套实现

[复制链接]
 楼主| t60yz 发表于 2024-12-11 12:48 | 显示全部楼层 |阅读模式
中断嵌套的实现依赖 NVIC 配置:

高优先级中断可中断低优先级中断。
相同抢占优先级中,子优先级较低的中断优先响应。
中断嵌套示例
假设配置:

定时器中断优先级为 0(最高)。
按键中断优先级为 2。
代码:

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);
}
结果:

定时器中断(优先级 0)可中断正在执行的按键中断(优先级 2)。

慢动作 发表于 2024-12-31 00:14 | 显示全部楼层
你的代码示例演示了如何使用定时器中断和按键中断,并展示了中断优先级如何影响它们的响应顺序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

1189

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部