关于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]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。