中断执行时间优化
减少中断逻辑:将复杂计算移至主程序或任务调度中完成。
快速响应:中断服务函数应简洁高效。
中断冲突管理
合理设置优先级:确保关键任务优先级较高。
屏蔽不必要的中断:临时屏蔽影响当前任务的中断。
使用中断标志
在中断中设置标志,在主循环或 RTOS 任务中处理具体逻辑:
c
复制代码
volatile uint8_t buttonPressed = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
if (GPIO_Pin == GPIO_PIN_0) {
buttonPressed = 1; // 设置标志
}
}
// 主循环处理逻辑
if (buttonPressed) {
buttonPressed = 0;
HandleButtonPress(); // 按键处理函数
}
|