求问:我把按键例程改了两句后按键就不灵敏了

2019-10-14 22:27发布

  下面是原代码和我改了两句的代码,除了main函数不一样其他地方如KEY_Scan(u8 mode)都没改,但下载后无论是按哪个按键都时好时坏,按下去几下或者十几下可能才会有反应(体现在lcd屏上数值的变化),这是什么情况?
  谢谢。

这是例程的代码:
        while(1)
        {
                key=KEY_Scan(0);
                   if(key)
                {                                                  
                        switch(key)
                        {                                 
                                case WKUP_PRES:
                                        BEEP=!BEEP;
                                        break;
                                case KEY1_PRES:
                                        LED1=!LED1;
                                        break;
                                case KEY0_PRES:
                                        LED0=!LED0;
                                        LED1=!LED1;
                                        break;
                        }
                }else delay_ms(10);
        }         

这是我改写的代码:
while(1)
{
   key=KEY_Scan(0);
   if(key)
   {                                                  
      switch(key)
     {                                 
        case KEY1_PRES:                 
          count=count+1;
        break;
        case KEY0_PRES:       
          count=count+10;
        break;
       }
        LCD_ShowNum(50,60,count,8,24);
               
        }else delay_ms(10);                
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
Electronic
1楼-- · 2019-10-16 22:29
你的按键扫描,当没有按键按下的时候是返回什么值,如果返回的不是0,那么你就一直在写LCD,这样占用了好长的时间
cao57508
2楼-- · 2019-10-17 02:57
按键和屏幕的组合用UCOS嵌入式系统最好了,否则就会来不及处理。
cao57508
3楼-- · 2019-10-17 05:45
 精彩回答 2  元偷偷看……

一周热门 更多>