怎么处理按键和while循环呀?

2019-07-20 14:12发布

使用F4开发板,想做一个,按K1键后LED1键,间隔闪烁,按K2键后,LED2间隔闪烁,但是在处理按键后,闪烁的时候,在while(1)里面循环一直不出来了,并且写入k2键按下跳出的判断也没有用,我要怎么去实现呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
安尚科技
2019-07-24 02:10
假如爱有天意123 发表于 2017-6-1 16:06
灯亮,灯的关闭,我都是在另一个.c文件里面写的,并且你看上面的图,我加的有定时器,但是在循环里面我在 ...

哈哈,思路不对。
给你个例程自己研究吧


        key+=KEY_Scan(0);
        switch(key)
        {
                case 0:关闭小灯;key+=1;break;
                case 1:执行灯亮函数1;break;
                case 2:关闭小灯;key+=1;break;
                case 3:执行灯亮函数2;break;
                case 4:关闭小灯;key+=1;break;
                case 5:执行灯亮函数3;break;
                case 6:关闭小灯;key+=1;break;
                case 7:执行灯亮函数4;break;
                case 8:关闭小灯;key=0;break;
                default :break;
        }

//下面为定时器延时500ms图片变化的函数,可以改为小灯


void HP6_BMP(u8 x,u8 y)
{
        if(delay_hp6>999)
                {
                        delay_hp6=0;
                        OLED_DisplayBMP(x,y,40,40,HP6[0]);
                       
                }
                        else if(delay_hp6>499&&delay_hp6<1000)
                {
                        OLED_DisplayBMP(x,y,40,40,HP6[1]);
                               
                }
OLED_Refresh_Gram();//刷新OLED屏用的
}

一周热门 更多>