触摸!!!

2019-08-17 05:08发布

今天调了半天程序,最后终于调出来了,但是刚开始的程序不明白为什么会错,求大神看下。用触摸屏实现的触摸按键u8 which_key()
{
        static u8 key_up=1;//按键按松开标志       
       
                        GT9147_Scan(0);  
       
          
        if(key_up&&((key1==1)||(key2==1)||(key3==1)||(key4==1)))
        {
                delay_ms(10);//去抖动
                key_up=0;
                if(key1==1)return 1;
                else if(key2==1)return 2;
                else if(key3==1)return 3;
                else if(key4==1)return 4;
        }else if(key1==0&&key2==0&&key3==0&&key4==0)key_up=1;             
        return 0;//





就折在了这句!!        }else if(key2==0&&key3==0&&key4==0)key_up=1;           


但是我不明白有什么错,按一下松开了不就已经是能实现这个语句了吗?我试了半天,这个程序只有把手按在别的地方一下,在按到键的位置才能实现key=1,才能实现这个语句,不知道为什么,
是手按得时候在触摸屏上花了个位置,即使松开了屏上也有的?
但是为什么用标志位就能实现,不太懂。希望懂得大神帮忙讲解一下 谢谢

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