1.配置按键gpio, 下降沿
2.配置时钟
3.配置NVIC。按键接的是PC13, 这里只要把引脚选择GPIO_EXTI13, 在NVIC里面就会自动显示EXTI line[15:10] interrupts。这个没什么好说的,13对应的中断线就是EXTI13。勾选对应的,生成中断处理handler函数。
4.生成代码
------------------------------------
中断代码:
中断产生
|
void EXTI15_10_IRQHandler(void) //stm32f4xx_it.c
|
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13); //stm32f4xx_hal_gpio.c
|
|------ 1.清除标志位
|
|------ 2. HAL_GPIO_EXTI_Callback(GPIO_Pin) //类似中断下半部,处理应用逻辑
例如翻转一个gpio:
现象:
每次按下按键,灯的状态改变。