中级会员
 
- 积分
- 303
- 金钱
- 303
- 注册时间
- 2013-7-15
- 在线时间
- 0 小时
|

楼主 |
发表于 2013-11-3 21:29:39
|
显示全部楼层
回复【8楼】longdaoyuntai:
---------------------------------
看见上面的最后一张图没?就是这个函数要改,当时是因为函数转AD的计算有问题
/*********************************************************************
*
* GUI_TOUCH_Exec
*函数需要改动
*************************************************************************/
void GUI_TOUCH_Exec(void) {
#ifndef WIN32
//static U8 ReadState;
int x,y;
/* calculate Min / Max values */
if (xyMinMax[GUI_COORD_X].Min < xyMinMax[GUI_COORD_X].Max) {
xMin = xyMinMax[GUI_COORD_X].Min;
xMax = xyMinMax[GUI_COORD_X].Max;
} else {
xMax = xyMinMax[GUI_COORD_X].Min;
xMin = xyMinMax[GUI_COORD_X].Max;
}
if (xyMinMax[GUI_COORD_Y].Min < xyMinMax[GUI_COORD_Y].Max) {
yMin = xyMinMax[GUI_COORD_Y].Min;
yMax = xyMinMax[GUI_COORD_Y].Max;
} else {
yMax = xyMinMax[GUI_COORD_Y].Min;
yMin = xyMinMax[GUI_COORD_Y].Max;
}
/* Execute the state machine which reads the touch */
//switch (ReadState) {
//case 0:
yPhys = TOUCH_X_MeasureY();
//TOUCH_X_ActivateY(); /*  repare X- measurement */
//ReadState++;
//break;
//default:
xPhys = TOUCH_X_MeasureX();
//TOUCH_X_ActivateX(); /*  repare Y- measurement */
/* Convert values into logical values */
#if !GUI_TOUCH_SWAP_XY /* Is X/Y swapped ? */
x = xPhys;
y = yPhys;
#else
x = yPhys;
y = xPhys;
#endif
if ((x < xMin) || (x > xMax) || (y < yMin) || (y > yMax)) {
_StoreUnstable(-1, -1);
} else {
x = _AD2X(x);
y = _AD2Y(y);
_StoreUnstable(x, y);
}
/* Reset state machine */
//ReadState = 0;
// break;
//}
#endif /* WIN32 */
} |
|