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

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灯才有反应。你们说奇不奇怪。。。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
WANSHUAI
1楼-- · 2019-08-27 14:54
 精彩回答 2  元偷偷看……
哈哈2013
2楼-- · 2019-08-27 18:03
KEY是定义的哪一个按键   原子哥系列开发板默认只有KEY0、KEY1、WK_UP和KEY2(只有阿波罗、战舰支持KEY2  别的不支持)。
WANSHUAI
3楼-- · 2019-08-27 23:33
哈哈2013 发表于 2017-3-24 19:48
KEY是定义的哪一个按键   原子哥系列开发板默认只有KEY0、KEY1、WK_UP和KEY2(只有阿波罗、战舰支持KEY2   ...

我买的最小系统板额。。按键是自己焊的,

一周热门 更多>