分类: LINUX
2008-03-20 22:29:40
typedef struct {
unsigned short pressure;
unsigned short x;
unsigned short y;
unsigned short pad;
} TS_EVENT;
static TS_EVENT ts_event;
static int ts;
int main()
{
ts = open ("/dev/ts", 0);
if (ts < 0) {
fprintf (stderr, "2410: Can not open touch screen!\n");
return 0;
}
while(1)
{
if(read(ts,&ts_event,sizeof(TS_EVENT)))
{
printf("X=%d,Y=%d,Pressure=%d \n",ts_event.x,ts_event.y,ts_event.pressure);
}
}
}
在板子上运行时,对于同一个点采样的显示结果却太不一样了
如下所示:
/bin $ ./readpos
X=127,Y=0,Pressure=33049
X=47,Y=0,Pressure=36633
X=1,Y=0,Pressure=9737
X=255,Y=0,Pressure=41
X=1,Y=0,Pressure=9
X=1,Y=0,Pressure=1545
X=254,Y=0,Pressure=64057
X=255,Y=0,Pressure=1065
有人知道是怎么回事么,谢谢
chinaunix网友2008-07-29 10:31:49
不是tstest的问题,是因为一些内核选项没有选上。 如果在内核配置中没有这几项的话会的一些让人很难以理解的问题出现: <*> Touchscreen interface (480) Horizontal screen resolution (640) Vertical screen resolution <*> Event interface <*> Event debugging http://blog.chinaunix.net/u1/59015/showart_600584.html 这个是我的完整记录。你看看吧!@#