发 帖  
原厂入驻New
[问答]

关于触摸屏的问题如何解决

66 触摸屏
分享
本人想在屏幕上设计一个触摸滑块,效果类似于Windows任务栏右下角的音量控制,但写完后发现触摸屏虽然可以正常工作且在规定范围内滑块也可以正常移动,但是当按住滑块不放把滑块向规定范围之外拖动时便会死机(至少看起来是这样,指示灯不再闪烁,ADC也不动),滑块想再拖回去也不可能了,类似于通过鼠标控制windows的音量时,鼠标把音量滑块拖到最大时依然向上移动鼠标,但windows显然不会因为这个问题死机,而且滑块到达最大后也不再改变位置,我想要的就是这个效果但总是死机,主要代码如下(在原子哥的代码基础上改的),希望高手帮忙看看
void Touch_Sensor()
{
    u16 Y0,Y1;

    LCD_Fill(190,Y0,220,Y1,BLACK);
    IF(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
    {
        Pen_Int_Set(0);//关闭中断
        do
        {
            Convert_Pos();
            Pen_Point.Key_Sta=Key_Up;
            
            if(Pen_Point.X0>190&&en_Point.X0<220&&en_Point.Y0>100&&en_Point.Y0<220)
            {
                Y0 = Pen_Point.Y0-10;
                Y1 = Pen_Point.Y0+10;
                LCD_Fill(190,Y0,220,Y1,BLACK);
                LCD_Fill(190,100,220,Y0,WHITE);
                LCD_Fill(190,Y1,220,220,WHITE);
                  GPIOC->ODR|=1<<1;
            }
            else
            {
                GPIOC->ODR|=1<<1;    //PC1 上拉
                break;           
            }   
        }
//        while(TOUCH_PEN==0);
        while((TOUCH_PEN==0)&&(Pen_Point.X0>190)&&(Pen_Point.X0<220)&&(Pen_Point.Y0>100)&&(Pen_Point.Y0<220));  //如果PEN一直有效,则一直执行
        Pen_Int_Set(1);//开启中断
    }else delay_ms(1);
}
0
2020-7-21 02:38:56   评论 分享淘帖 邀请回答
1个回答
超过范围就有问题.
那你让他不超过范围,不就没事了吗...
2020-7-21 14:58:19 评论

举报

只有小组成员才能发言,加入小组>>

86个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表