本文抛开技术层次上来说说LINUX触摸屏设备驱动原理
触摸屏,就是用一块AD转换芯片来将屏幕上的触摸信号转成数字信号。触摸屏常用的是四线电阻,AD转换芯片
常用的是7843,7846,TS2003等。当触摸时候,这些芯片会将模拟信号转换成数字信号,就是通常说的AD转换。
在LINUX中,通常是通过中断来读取这些数字的。触摸屏幕的时候,中断发生,LINUX通过串口或者I2C,SPI等去
读取数字,然后把数值传给INPUT层。这就是一般驱动的原理。
触摸屏校验,因为你从驱动里活动的数值大多都是8位,或者12位的。可以表示的坐标范围是(0.0)--(256,256)或者
(0,0)--(4096,4096),你需要将次数字与屏幕的分辨率相对应。这个时候,你就需要校验程序来一一对应
这些。比较常用的校验程序是TSLIB。
通过TSLIB校验后,应用程序读取TSLIB里的数值,这个时候就能准确定位了
下面具体说说我坐的一个驱动
触摸屏------TI2007-----------I2C----------INPUT-------TSLIB-------应用程序。
具体代码分析等下篇再描述