关于9488驱动3.5寸触摸屏校准问题

2019-07-20 06:33发布

关于校准的原理和方法以及计数过程通过几天的学习也有了大致的了解,现在自己是在编写一个最简单的3点校准程序,校准参数不保存,每次单片机复位后直接执行校准。但是目前有几个问题,请求有大佬给解答一下。谢谢!!![mw_shl_code=applescript,true]void TP_Adjust(void)
{                       
        u16 pos_temp[4][2];//×ø±ê»o′æÖμ
        u8  cnt=0;               
        u16 outtime=0;
  volatile float xfac,xoff,yfac,yoff;
        TFT_Fill(0,0,480-1,320-1,WHITE);        //ÇåÆá        
        TP_Drow_Touch_Point(20,20,RED);//»-μã1        
        while(1)
        {
                        outtime=0;
                        pos_temp[cnt][0]=Touch_Get_X();
                        pos_temp[cnt][1]=Touch_Get_Y();
                        cnt++;          
                        switch(cnt)
                        {                          
                                case 1:                                                 
                                        TP_Drow_Touch_Point(460,20,RED);                                //»-μã2
                                        break;
                                case 2:
                                        TP_Drow_Touch_Point(20,300,RED);                                 //»-μã3
                                        break;
                                case 3:
                                        TP_Drow_Touch_Point(460,300,RED);                                        //»-μã4
                                        break;
                                case 4:               
                                  xfac=(float)(440)/(pos_temp[1][0]-pos_temp[0][0]);//μÃμ½xfac                 
                                        xoff=(480-xfac*(pos_temp[1][0]+pos_temp[0][0]))/2;//μÃμ½xoff                                          
                                        yfac=(float)(280)/(pos_temp[2][1]-pos_temp[0][1]);//μÃμ½yfac
                                        yoff=(280-yfac*(pos_temp[2][1]+pos_temp[0][1]))/2;//μÃμ½yoff  
                                  TFT_Fill(0,0,480-1,320-1,WHITE);        //ÇåÆá                               
                                  delay(1000);
                                  return;//D£Õyíê3é       
                       
                        }               
                delay(10);
                outtime++;
                if(outtime>1000)
                {
                        break;
                 }
        }
}        [/mw_shl_code]

我不知道怎么去判断我是否按下了触摸屏,并且最后得到的比例系数和偏移量不知怎么拿出来用(不理解原子大大的那串类似结构体的东西)
[mw_shl_code=applescript,true]_m_tp_dev tp_dev=
{
        TP_Init,
        TP_Scan,
        TP_Adjust,
        0,
        0,
        0,
        0,
        0,
        0,                                  
        0,
        0,                                  
};[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
MWXFL
1楼-- · 2019-07-20 06:43
 精彩回答 2  元偷偷看……
翼行园子
2楼-- · 2019-07-20 08:52
 精彩回答 2  元偷偷看……
MWXFL
3楼-- · 2019-07-20 09:41
现在就是不太明白如何在校准的时候去判断前一次触摸的确按下并读取到值。毕竟前一次不按下我不能进行下一点的测量

一周热门 更多>