今天调了半天程序,最后终于调出来了,但是刚开始的程序不明白为什么会错,求大神看下。用触摸屏实现的触摸按键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,才能实现这个语句,不知道为什么,
是手按得时候在触摸屏上花了个位置,即使松开了屏上也有的?
但是为什么用标志位就能实现,不太懂。希望懂得大神帮忙讲解一下 谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
软件问题?
原子哥也觉得这个程序没毛病?
一周热门 更多>