在基于Windows ce.net的嵌入式系统中,往往都会有触摸屏。现在市场上的触摸屏种类很多,包括电容式触摸屏,电阻式触摸屏,红外触摸屏等,在无特殊要求的系统中一般都会使用电阻式触摸屏。电阻式触摸屏有四线,五线等。
在我们实现的系统中,使用的就是四线电阻式触摸屏,根据MS的提供的例程,实现了基于ADS7846的驱动程序,但是经常出现触摸不准的问题,为了彻底解决这个问题决定对驱动程序来个大检查。
最后终于查到问题,原来是与ADS7846有关,在驱动程序中,每次采集四个点,然后进行比较,看是否误差很大,如果很大的话,这组数据就会被丢弃。而且这四个点是以这样的顺序采集的:
X1->Y1->X2->Y2->X3->Y3->X4->Y4
经过N多测试之后,仍是不准,决定将数据采集顺序改为:
X1->X2->X3->->X4->Y1->Y2->Y3->Y4
情况有所好转,在每次转换电压之前,加一次假读操作,才算彻底解决问题,真是非常,特别的准!!!
转载于:https://www.cnblogs.com/tie119/archive/2006/05/13/399491.html