- 论坛徽章:
- 0
|
怎么校准触摸评,触摸触摸屏,有数据打印出但是我相近的两点为所么打印出的x,y坐标的值相差很大阿。怎么使触摸相近两点的坐标差别不大,现象:
x=31,y=430,z=1
x=27,y=409,z=1
x=79,y=383,z=1
x=113,y=341,z=1
x=45,y=396,z=1
x=115,y=338,z=1
x=58,y=351,z=1
x=108,y=340,z=1
code:
static int XYposition(void)
{
unsigned short x,y,z;
x = *(unsigned short *)0x58000000;
while (!(x>>15))
{
;
}
z = x >> 15;
x = *(unsigned short *)0x5800000c;
y = *(unsigned short *)0x58000010;
printf("x=%d,y=%d,z=%d\n",(x & 0x1ff),(y & 0x1ff),z);
// printf("long");
writel(0xd3,VA(0x58000004));
return 0;
}
static int S3cTouchFun(void)
{
int ret;
writel(0xd4,VA(0x58000004));
writel((1<<14)|(49<<6)|(4<<3)|1,VA(0x58000000));
// printf("maxwit");
return 0;
}
static __INIT__ int S3cTouchInit(void)
{
int ret;
writel(0xd3,VA(0x58000004));
ret = GkRegisterIsr(IRQ_TC,S3cTouchFun,NULL);
ret = GkRegisterIsr(IRQ_ADC,XYposition,NULL);
return ret;
}
DRIVER_INIT(S3cTouchInit); |
|