基于stm32u575 使用SMT32cubemx软件
快速上手外部中断的中断的基本使用
基础配置
将PA0配置成上升沿输入
PA12配置成下降沿输入中断
PC13配置成输出模式 作为LED灯显示
代码分析
只需要在空白段插入 中断回调函数 就能实现回调功能
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{
if (GPIO_Pin == GPIO_PIN_12)
{
HAL_Delay(100);
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_12)==GPIO_PIN_RESET) //读取按键是否按下
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET); //点亮led
}
}
}
void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin) //上升沿触发的回调函数
{
if(GPIO_Pin== GPIO_PIN_0)
{
HAL_Delay(100);
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)==GPIO_PIN_SET) //读取按键是否按下
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET); //熄灭led
}
}
}
实验结果
可以看到按键按下的LED灯状态