原因:
造成X轴镜像,Y轴镜像和XY交换等问题的原因主要有两种,一个是触摸板的首坐标和LCD显示屏的首坐标不在一个方向(这个是安装面板造成的),另一个就是电阻触摸板的X+,X-,Y+ Y-的接线问题
电容触摸:
由于现在的电容屏无需校准,读取的数值就是实际坐标值所以处理比较简单,比如800*480分辨率,读取的坐标是x0,y0。
X轴镜像的话,那么转换后的坐标就是800-x0, y0。
Y轴镜像的话,那么转换后的坐标就是x0, 480 - y0。
X, Y轴交换的话,那么转换后的坐标就是y0, x0。
电阻触摸:
由于电阻触摸需要校准,对于X轴镜像,Y轴镜像和XY交换等问题,使用这个帖子里面的触摸校准方式即可解决
http://www.armbbs.cn/forum.php?mod=viewthread&tid=93295
有一点要特别注意,触摸校准要自动识别是否有X,Y交换问题,识别方法比较简单,比如800*480分辨率
选取左上角(20,20),右下角(780,460),那么触摸后得到的ADC数值(x0, y0),(x1,y1)
正常情况下应该是x1 - x0绝对值大于 y1 - y0 的绝对值(长度是800个像素点对应0 - 4095范围ADC数值,高度是480个像素点对应0 - 4095范围ADC数值)
如果小于的话就是X,Y反了,计算的时候要处理下,前面的程序里面已经做了处理。 |