4.3寸触摸屏误触摸怎么解决

2019-07-20 01:28发布

用的是GT9147的芯片写的程序功能是当按下一个点之后就显示那个点
但是在我没触碰触摸屏的时候自己也会检测到点的按下,然后显示
后面我多次检测数据,判断是不是一直按下的是这个点,但是在最左上角还是有大概4个像素点会被误触发然后显示
想问问各位大神对这个问题有没有啥别的解决方法,谢谢各位啦。


        gt9147_rd(GT_GSTID_REG,dat,1);                                                //读取是不是有触摸
        if(dat[0]&0x80)
        {
                dat[0]=dat[0]&0x1f;                                                         //判断有多少个触摸(最大5个)
                for(i=0;i<dat[0];i++)
                {
                        for(counter=0;counter<100;counter++)                       //读取100次,判断这个点在100次之中是不是一直被按下
                        {
                                make_up(Point[i],&x,&y);
                                ix=x;iy=y;
                                make_up(Point[i],&x,&y);
                                if(x==ix&&y==iy)
                                        z++;
                        }
                        if(z==100)                                                             //检测到100次都是这个点,确认触摸
                        {
                                z=0;
                                write_pos(x,y,0xf800);                                     //显示按下的点,颜 {MOD}为红 {MOD}
                                if(x>84&&x<132&&y>84&&y<132)
                                {
                                                GPIOF->BSRRH=GPIO_Pin_8;         //蜂鸣器
                                }
                                if(x>184&&x<264&&y>84&&y<116)
                                {
                                        if(x>184&&x<264&&y>84&&y<116)
                                                GPIOF->BSRRL=GPIO_Pin_8;
                                }
                        }
                }
        }

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