觸摸屏移植Emwin


1.時間配置程序GUI_X.c中包含觸摸屏程序touch.h頭文件

2.添加以下程序:

//准備 X 軸測量-----------里面不需要加東西,只要存在就會自動進行測量
void GUI_TOUCH_X_ActivateX(void)
{
}
//准備 Y 軸測量
void GUI_TOUCH_X_ActivateY(void)
{
}
//返回 A/D 轉換器的 X 軸測量結果
int GUI_TOUCH_X_MeasureX(void)
{
Touch_GetLCDXY();
return touch.xpos;
}
//返回 A/D 轉換器的 Y 軸測量結果
int GUI_TOUCH_X_MeasureY(void)
{
Touch_GetLCDXY();
return touch.ypos;
}

3.觸摸屏touch.c中寫入一個函數,返回坐標值

//觸摸屏坐標值轉換成LCD屏坐標值
void Touch_GetLCDXY(void)
{
if(T_PEN == 0)//如果按鍵觸摸按下
{
if(TP_ADGet())//獲取觸摸屏坐標值
{
//轉化成LCD屏坐標值
touch.xpos = (u16)((double)touch.A/touch.K*touch.ad_xvalue + (double)touch.B/touch.K*touch.ad_yvalue+(double)touch.C/touch.K+0.5f);
touch.ypos = (u16)((double)touch.D/touch.K*touch.ad_xvalue + (double)touch.E/touch.K*touch.ad_yvalue+(double)touch.F/touch.K+0.5f);
return;
}
}
touch.xpos = 0xffff; //失敗
touch.ypos = 0xffff;
}

4.在

 

 5.使用時間片實現校准(主函數while里)

if(touchrun[0]>touchrun[1])
{
GUI_TOUCH_Exec();
GUI_TOUCH_Exec();
touchrun[0] =0;
}

6.刷新窗口
if(guiupdata[0] >guiupdata[1])
{
GUI_Exec();//刷新窗口
guiupdata[0] =0;
}

7.檢測觸摸是否可用,可以進行光標顯示 GUI_CURSOR_Show();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM