外部中断

STM32 的每个 IO 都可以作为外部中断的中断输入口

GPIO 跟中断线的映射关系图
这里写图片描述
下降沿触发 EXTI_Trigger_Falling,上
升沿触发 EXTI_Trigger_Rising,或者任意电平(上升沿和下降沿) 触发
EXTI_Trigger_Rising_Falling,

常用的中断服务函数格式为:
void EXTI3_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line3)!=RESET)//判断某个线上的中断是否发生
     {
         中断逻辑…
         EXTI_ClearITPendingBit(EXTI_Line3); //清除 LINE 上的中断标志位
      }
}

在这里需要说明一下,固件库还提供了两个函数用来判断外部中断状态以及清除外部状态
标志位的函数 EXTI_GetFlagStatus 和 EXTI_ClearFlag,他们的作用和前面两个函数的作用类似。
只是在 EXTI_GetITStatus 函数中会先判断这种中断是否使能,使能了才去判断中断标志位,而
EXTI_GetFlagStatus 直接用来判断状态标志位。

猜你喜欢

转载自blog.csdn.net/qq_19999465/article/details/78135465