void EXTI9_5_IRQHandler(void)
{

  u32 Temp = 0x00; 

  PEout(2) = ~PEout(2);
  Temp = EXTI->PR;       //取读是那个引脚的中断
  switch(Temp)
  {
    case Exti_From_Pin8:
      EXTI_ClearITPendingBit(EXTI_Line8);
      break;
    case Exti_From_Pin9:
      if(Sys_Status < MAX_STATUS)
      {
        Sys_Status ++;
      }
      EXTI_ClearITPendingBit(EXTI_Line9);
      break;
    default:break;
  }
}

=========================================分割线=========================================

中断处理程序说明,由于外部中断EXTI5——EXTI9公用了一个中断(EXTI10——EXTI15类似)所以要

区分不同的中断源需要进行相应的判断。如上EXTI9_5_IRQHandler中,通过取读EXTI->PR寄存器来判

断中断的来源。


具体如下:

stm32 exti 5~9 中断源区分



相关文章:

  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2021-11-30
  • 2021-09-06
  • 2021-09-13
猜你喜欢
  • 2022-01-12
  • 2021-11-22
  • 2021-06-16
  • 2022-12-23
  • 2021-11-29
  • 2021-04-26
相关资源
相似解决方案