NUCLEO-G071RB:004——GPIO-按键EXTI外部中断控制LED闪烁
- 设计目标
- 电路原理图
- 芯片配置
- 程序修改
设计目标
电路原理图
与NUCLEO-G071RB:003——GPIO-按键控制LED灯相同
芯片配置
1、PC13(B1):EXTI外部中断模式,其他默认
2、中断配置:使能EXTI4-15外部中断
程序修改
1、新增定义EXTI13(B1)中断服务子函数
void EXTI4_15_Callback(uint16_t gpio_pin)
{if (gpio_pin == B1_Pin){HAL_GPIO_TogglePin(LD4_GPIO_Port, LD4_Pin);}
}
2、在库EXTI中断服务子函数__weak void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin),增加上述函数的声明与调用
/*** @brief EXTI line detection callback.* @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.* @retval None*/
__weak void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{void EXTI4_15_Callback(uint16_t gpio_pin);/* Prevent unused argument(s) compilation warning */
// UNUSED(GPIO_Pin);EXTI4_15_Callback(GPIO_Pin);/* NOTE: This function should not be modified, when the callback is needed,the HAL_GPIO_EXTI_Falling_Callback could be implemented in the user file*/
}
编译、下载、运行,发现LED4跟随按键按下动作而发生亮/灭切换