隨著嵌入式應(yīng)用對GUI圖形界面需求的增加,Qt在Linux嵌入式設(shè)備中的使用越來越廣泛,許多應(yīng)用也都對人機(jī)交互界面有一定的要求。因此觸摸屏、鼠標(biāo)等設(shè)備等支持也變得重要起來,英創(chuàng)Linux嵌入式工控板已經(jīng)支持了鼠標(biāo)和4線制電阻式觸摸屏在Qt中的使用,在某一些應(yīng)用場合中,電容屏可能會更受歡迎,所以英創(chuàng)公司在EM335x和EM928x系列產(chǎn)品中加入了FT5316電容觸摸屏芯片的驅(qū)動程序。電容屏是人體觸摸操作,不需要按壓,而電阻屏是靠壓力感應(yīng)的方式,所以需要使用筆針類的工具按壓,相比起來,給用戶的使用體驗(yàn)電容屏?xí)`敏一些。
FT5316電容觸摸屏芯片的通訊接口為I2C,并且還需要一路中斷信號和一路復(fù)位信號,在EM335x評估底板中,英創(chuàng)公司已經(jīng)將電容屏的接口引出,將中斷和復(fù)位信號定義為GPIO17、18兩個管腳,具體的電路可以參考光盤中的評估底板原理圖。EM335x評估板的接口如下圖:
2、軟件驅(qū)動
在軟件上,英創(chuàng)公司已經(jīng)將FT5316電容觸摸屏芯片驅(qū)動移植到了EM335x和EM928x系列的主板中,并且編譯成了一個模塊edt-ft5x06.ko件,存放在/lib/modules/3.12.10目錄下。要使用電容屏?xí)r,需要用insmod命令加載這個ko文件:
加載驅(qū)動以后,電容屏的節(jié)點(diǎn)為/dev/input/event1。
3、實(shí)際應(yīng)用
因?yàn)樵诠た貞?yīng)用中電阻屏的使用還是占大部分,文件系統(tǒng)中所以默認(rèn)的環(huán)境變量都是設(shè)置為電阻屏的節(jié)點(diǎn)/dev/input/event0,所以加載完驅(qū)動后,要在Qt中使用電容屏觸摸,需要設(shè)置兩個環(huán)境變量,要修改的環(huán)境變量為:QWS_MOUSE_PROTO和TSLIB_TSDEVICE,在這里介紹兩種修改的方法:
(1)在終端直接輸入:
export set TSLIB_TSDEVICE=/dev/input/event1
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event1'
這種方法在每次重啟或者上電后,都要先輸入這兩條指令來設(shè)置。
(2)使用vi在/etc/profile文件中做如下修改:
#export set TSLIB_TSDEVICE=/dev/input/event0
export set TSLIB_TSDEVICE=/dev/input/event1
#export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event1'
即屏蔽原來電阻屏的環(huán)境變量,重新設(shè)置為電容屏,這樣只需要修改一次,不管上電或是重啟都不需要再設(shè)置了。
如果做為產(chǎn)品需要批量使用電容屏,可以由英創(chuàng)公司在出廠前修改好。
設(shè)置完后就可以使用電容屏了,使用前還是需要先校準(zhǔn)一次,在終端輸入:ts_calibrate依次校準(zhǔn)完屏幕上的五個點(diǎn),就可以正常使用了。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209330 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35296
發(fā)布評論請先 登錄
相關(guān)推薦
評論