按键响应中断
按键响应是最常见的中断应用,通过 GPIO EXTI 配置边沿检测触发中断。
1. 配置 EXTI 中断
STM32CubeMX 中:
设置对应 GPIO 引脚(如 PA0)的模式为 External Interrupt。
配置触发方式(上升沿、下降沿、双边沿)。
HAL 库代码示例:
c
复制代码
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
if (GPIO_Pin == GPIO_PIN_0) { // 检测 PA0 中断
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // 切换 LED 状态
}
}
// 中断向量处理
void EXTI0_IRQHandler(void) {
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); // 调用 HAL 回调
}
|