2440开发板+7寸LCD,触摸屏无法校正问题。
[复制链接]
刚刚在网上搜了一下,发现很多网友也遇到同样的问题,主要表现为“在触摸屏按定不放时,笔下的区域有方框不停的跳动”。
原来在win ce下校正时,更出现需要不停校正的问题,后来通过下面的方法测出正常的TOUCH_MAX_X 、TOUCH_MIN_X 、TOUCH_MAX_Y和TOUCH_MIN_Y值后就表现为“在触摸屏按定不放时,笔下的区域有方框不停的跳动”。
我上网查资料后有网友说会是
#define ADCPRS 55 // 200Mhz
#define ADC_DELAY_TIME 5000 // vencent
的设定问题,但我不是很明白该怎么样去确定。
首先要说明一下,硬件部分没有问题,因为开发板配套光盘提供的nk.bin文件触摸屏部分很稳定,但使用其提供的BSP包定制就出现以上问题。
#define TOUCH_MAX_X 953
#define TOUCH_MIN_X 66
#define TOUCH_MAX_Y 856
#define TOUCH_MIN_Y 156
#define TOUCH_X 800 //vencent
#define TOUCH_Y 480
VOID Touch_CoordinateConversion(INT *px, INT *py)
{
INT TmpX, TmpY;
INT TmpX0, TmpY0;
TmpX0 = *px; TmpY0 = *py;
RETAILMSG(1, (TEXT("*px : %d\r\n"), TmpX0));
RETAILMSG(1, (TEXT("*py : %d\r\n"), TmpY0));
TmpX = (*px >= TOUCH_MAX_X) ? (TOUCH_MAX_X-1) : *px;
TmpY = (*py >= TOUCH_MAX_Y) ? (TOUCH_MAX_Y-1) : *py;
TmpX -= TOUCH_MIN_X;
TmpY -= TOUCH_MIN_Y;
TmpX = (TmpX) ? TmpX : 0;
TmpY = (TmpY) ? TmpY : 0;
*px = ((TmpX * TOUCH_X) / (TOUCH_MAX_X-TOUCH_MIN_X))*4;
*py = ((TmpY * TOUCH_Y) / (TOUCH_MAX_Y-TOUCH_MIN_Y))*4;
return;
}
|