我发现一个奇怪的问题。。。

2019-08-27 14:12发布

void EXTI15_10_IRQHandler(void)
{
        KEY_Scan(0);
         EXTI_ClearITPendingBit(EXTI_Line15);  //清除LINE15线路挂起位
}
这是我的中断函数,,其中 KEY_Scan();函数具体内容如下:
u8 KEY_Scan(u8 mode)
{                
        if(KEY==0)
        {
                if(KEY==0)
                {
                        LED=!LED;
                }
                while(KEY==0);
        }       
        return 0;                                                //  无按键按下
}


我今天做中断实验,用按键触发中断然后控制LED灯的亮灭,,大家看我中断函数里面引用KEY_Scan();函数的时候一切正常,但是当我把KEY_Scan();函数换成
if(KEY==0)
        {
                if(KEY==0)
                {
                        LED=!LED;
                }
                while(KEY==0);
        }       
这段代码的时候,我的按键就时灵时不灵的,按好几次LED灯才有反应。你们说奇不奇怪。。。。

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