HAL库学习——GPIO输入作为外部中断触发

一、介绍

       通过GPIO输入电平变化,可直接触发外部中断,一般应用于按键检测以及其它脉冲检测。下面讲述外部中断的配置及使用。

二、CubeMx配置

1)配置GPIO为外部中断模式

HAL库学习——GPIO输入作为外部中断触发_第1张图片

2)配置为上升沿触发外部中断模式。这里根据实际情况配置,博主是根据项目需要配置为捕捉上升沿。

HAL库学习——GPIO输入作为外部中断触发_第2张图片

 

2)开启外部中断

HAL库学习——GPIO输入作为外部中断触发_第3张图片

三、代码实现

     MCU一检测到外部IO有上升沿产生,则会调用外部中断函数,该代码是由CubeMx配置自动生成。

HAL库学习——GPIO输入作为外部中断触发_第4张图片

      中断函数里主要完成外部中断标志清除以及调用外部中断回调函数。

HAL库学习——GPIO输入作为外部中断触发_第5张图片

      这里重写外部中断函数,将自己要实现的需求加进去。

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  if (GPIO_Pin == PPS_Pin)
  {
    printf("获取到秒脉冲\r\n");
  }
  
}

 

你可能感兴趣的:(STM32)