触摸屏移植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的主要内容,如果未能解决你的问题,请参考以下文章