/* AUTHOR: Pinus
* Creat on : 2018-11-1
* KERNEL : linux-4.4.145
* BOARD : JZ2440(arm9 s3c2440)
* REFS : 韋東山視頻教程第二期
*/
概念
這篇和 LCD採用相同方式記錄,着重講概念,希望大家在瞭解基礎概念的基礎上,再結合推薦參考文章,追求實現。
1. LCD和觸摸屏是兩個東西
初學時都會有一樣的誤區,以爲LCD和觸摸屏是同種概念的東西,但是並不是這樣的,LCD是LCD,觸摸屏是觸摸屏,觸摸屏的結構其實是可以說是兩張很薄的肉眼看不見的膜,然後貼附在LCD液晶屏上。所以這篇文章把觸摸屏叫做LCD的豪華套件。
2. (電阻式)觸摸屏的基本原理
如果只看其中一軸,可以看做是滑動變阻器,當在某處按下,類似改變了這x,y軸上的電阻,當然所測量的電壓就會發生改變,通過AD轉換,便可以得到一個座標(x,y),從而就可以知道觸碰了哪個位置。
3.程序大致組成
採用了input子系統框架,上報EV_ABS(絕對座標時間x,y)
在s3c2440內部有專門的ADC&TS接口,配置寄存器,當有按下時會觸發中斷,並進行adc轉換,上報座標值
接下來,請大家細讀推薦文章18.Llinux-觸摸屏驅動(詳解), 內有測試方法hexdump,tslib...
附上自己編寫的LCD驅動,內有註釋,細讀有助於加深理解 ts.c