触摸屏移植Emwin

Posted juan-4-14

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了触摸屏移植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();

 

以上是关于触摸屏移植Emwin的主要内容,如果未能解决你的问题,请参考以下文章

第3版emWin教程第5章 emWin上手之电阻触摸和电容触摸

android4.1触摸屏驱动怎么移植?

嵌入式设备移植触摸屏驱动

NUC970平台触摸屏驱动移植

移植触摸屏驱动到linux3.4.2

CubeMX移植野火ILI9341触摸画板笔记