关于终端服务函数的一点小问题

2019-07-20 22:55发布

各位朋友大家好:
          EXTI_InitStructure.EXTI_Line=EXTI_Line2;        //KEY2
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
          EXTI_InitStructure.EXTI_LineCmd = ENABLE;
          EXTI_Init(&EXTI_InitStructure);                 //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器


void EXTI2_IRQHandler(void)
{
        delay_ms(10);//消抖
        if(KEY2==0)          //按键KEY2
        {
                LED0=!LED0;
        }                 
        EXTI_ClearITPendingBit(EXTI_Line2);  //清除LINE2上的中断标志位




  看了原子哥的第28讲外部中断视频,有一个小疑问: 不是触发了中断,才会进入执行中断服务函数的吗?
那么是不是可以理解为:配置了分时复用之后,key2 对应的io口 ,既能触发中断,又能被寄存器读取io口的即时值?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。