打印
[STM32F4]

中断嵌套实现

[复制链接]
98|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

170

主题

1009

帖子

0

粉丝