stm32外部中断需要注意的一个问题

2019-07-20 19:14发布

今天学习stm32外部中断的时候,中断函数代码如下:       printf("enter exti0");//这里很容易进来
        delay_ms(10);//消抖
        if(KEY2==0)          //按键KEY2
        {
                printf("really exti0");//这里不容易进来,说明防抖很必要
                LED0=!LED0;
        }       
       //清除LINE2上的中断标志位,如果不写这句话,main函数里不执行         
        //原因是会不停的进入中断导致main函数无法执行
        EXTI_ClearITPendingBit(EXTI_Line2);

蓝 {MOD}代码如果屏蔽掉,发现主函数无法执行。
原因是如果不手动清除中断标志位,则会不停的进入中断,主函数自然无法执行了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。