|
u16 _AD2Y(u16 adx) //240
{
u16 sx=0;
int r = adx - 200;
r *= 240;
sx=r / (4000 - 280);
if (sx<=0 || sx>240)
return 0;
return sx;
}
u16 _AD2X(u16 ady) //320
{
u16 sy=0;
int r = ady - 260;
r *= 320;
sy=r/(3960 - 360);
if (sy<=0 || sy>320)
return 0;
return sy;
}
RT这俩函数是转换采集到的AD值到TFT座标值的,
但是先前看的实验中都是有一个屏幕校准程序,得到校准数据后存到eeprom中的,
这里直接用了4000,280,3960,360这些数据哪里来的,
我想既然要校准程序,就说明每个屏幕都不一样吧,怎么能用固定的数据?
神奇的是这个例子的画笔程序也能正确检测到触摸。难道这个触摸屏和TFT显示屏是完全重合的么?
还有既然这样这么简单不用校准的话,为什么还有那么多触摸屏和显示屏设计的是触摸屏大显示屏一圈呢?
这次用的是神舟的板子,屏幕2.8英寸,240x320分辨率。
|