触摸屏移植Emwin
2021-03-04 18:26
标签:头文件 触摸屏 round col tab 转换器 gui 移植 获取 1.时间配置程序GUI_X.c中包含触摸屏程序touch.h头文件 2.添加以下程序: //准备 X 轴测量-----------里面不需要加东西,只要存在就会自动进行测量 3.触摸屏touch.c中写入一个函数,返回坐标值 //触摸屏坐标值转换成LCD屏坐标值 4.在 5.使用时间片实现校准(主函数while里) if(touchrun[0]>touchrun[1]) 6.刷新窗口 7.检测触摸是否可用,可以进行光标显示 GUI_CURSOR_Show(); 触摸屏移植Emwin 标签:头文件 触摸屏 round col tab 转换器 gui 移植 获取 原文地址:https://www.cnblogs.com/juan-4-14/p/12927190.html
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;
}
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;
}
{
GUI_TOUCH_Exec();
GUI_TOUCH_Exec();
touchrun[0] =0;
}
if(guiupdata[0] >guiupdata[1])
{
GUI_Exec();//刷新窗口
guiupdata[0] =0;
}