嵌入式Linux框架下的的智能儀器觸摸屏接口設(shè)計(jì)過程詳解_第1頁
嵌入式Linux框架下的的智能儀器觸摸屏接口設(shè)計(jì)過程詳解_第2頁
嵌入式Linux框架下的的智能儀器觸摸屏接口設(shè)計(jì)過程詳解_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【W(wǎng)ord版本下載可任意編輯】嵌入式Linux框架下的的智能儀器觸摸屏接口設(shè)計(jì)過程詳解}

應(yīng)用程序調(diào)用read()函數(shù)時(shí),進(jìn)入驅(qū)動的ads7843_ts_read()接口函數(shù)。在該接口函數(shù)中獲取采樣結(jié)果,判斷是否要對坐標(biāo)開展校準(zhǔn),將終結(jié)果寫入到緩沖區(qū)中,并通過copy_to_user()函數(shù)將其從內(nèi)核空間復(fù)制到用戶空間,以使應(yīng)用程序能夠使用。在ads7843_ts_read()函數(shù)中采用了非阻塞型操作,使得在沒有數(shù)據(jù)到達(dá)的時(shí)候立即返回,然后用異步觸發(fā)fasync()來通知數(shù)據(jù)的到來。ads7843_ts_poll()函數(shù)用于驅(qū)動程序的非阻塞操作,ads7843_ts_fasync()函數(shù)用于驅(qū)動異步觸發(fā)。ads7843_ts_ioctl()函數(shù)中,提供了可從用戶態(tài)控制的參數(shù),如觸摸屏是否在驅(qū)動中校準(zhǔn)、屏幕的坐標(biāo)值等。ads7843_ts_release()函數(shù)用來關(guān)閉觸摸屏設(shè)備。

2.2觸摸屏的校準(zhǔn)

在儀器開發(fā)過程中,觸摸屏作為輸入設(shè)備與LCD配合使用。為了能使從觸摸屏采樣得到坐標(biāo)與屏幕的顯示坐標(biāo)對應(yīng),還需要做一個(gè)映射,也就是要對觸摸屏開展校準(zhǔn)。如圖4所示,所用的觸摸屏和液晶屏都是標(biāo)準(zhǔn)的矩形,只要安裝合理,可以認(rèn)為觸摸屏的X方向坐標(biāo)只與顯示屏X方向相關(guān),Y方向坐標(biāo)只與顯示屏的Y方向相關(guān)。假設(shè)顯示屏的分辨率是W×H,顯示區(qū)域的左上角對應(yīng)的觸摸屏采樣坐標(biāo)是(x1,y1),右下角對應(yīng)的坐標(biāo)是(x2,y2),那么觸摸屏上任意一點(diǎn)采樣坐標(biāo)(x,y)與顯示屏坐標(biāo)(xd,yd)的對應(yīng)關(guān)系可以按照如下公式計(jì)算:

這樣,在測得(x1,y1)和(x2,y2)點(diǎn)觸摸屏的采樣值后,利用上述公式編制校準(zhǔn)函數(shù),在觸摸屏工作的過程中,計(jì)算出實(shí)際觸摸點(diǎn)對應(yīng)的顯示坐標(biāo),完成觸摸屏的校準(zhǔn)。

3觸摸屏用戶應(yīng)用程序

創(chuàng)立的Linux設(shè)備文件系統(tǒng)觸摸屏節(jié)點(diǎn)為/dev/ts.在應(yīng)用程序中,可以像打開文件一樣用open函數(shù)打開設(shè)備文件,然后用read()函數(shù)讀取由驅(qū)動傳遞到用戶空間的數(shù)據(jù)。儀器應(yīng)用程序的開發(fā)采用MiniGUI開展,MiniGUI是由**飛漫公司開發(fā),可應(yīng)用于實(shí)時(shí)嵌入式系統(tǒng)中的輕量級圖形用戶界面支持系統(tǒng)。其函數(shù)接口與WindowsSDK類似,開發(fā)方便。

MiniGUI的輸入抽象層(IAL:InputAbstractLayer)提供了對觸摸屏、鼠標(biāo)等輸入設(shè)備的豐富支持,并支持PXA255處理器平臺。只要經(jīng)過簡單的設(shè)置就可以在應(yīng)用程序中使用觸摸屏。配置安裝MiniGUI時(shí),使用22enable2px255bial項(xiàng),由于在安裝MiniGUI時(shí)采用了內(nèi)嵌資源的靜態(tài)編譯方式,所以在編譯之前,需在MiniGUI的src/sysres/目錄下建立mgetc2pxa1c文件,并在其中用下面語句設(shè)置系統(tǒng)參數(shù),將觸摸屏設(shè)為輸入設(shè)備。

staticchar*SYSTEM_VALUES[]={“fbcon”,“PX255B”,“/dev/ts”,“none”};

MiniGUI對觸摸屏輸入的處理方式如圖5所示。

MiniGUI通過觸摸屏設(shè)備驅(qū)動程序接收原始的輸入數(shù)據(jù),把它轉(zhuǎn)換為MiniGUI抽象的觸摸屏事件和數(shù)據(jù)。

相關(guān)的底層事件處理例程把這些觸摸事件轉(zhuǎn)換為上層的觸摸消息,放到相應(yīng)的消息隊(duì)列中。應(yīng)用程序通過消息循環(huán)獲取這些消息,交由窗口過程處理。編制針對觸摸屏的應(yīng)用程序時(shí),需要做的只是在窗口接收到諸如MSG_LBUTTONDOWN等觸屏消息時(shí),調(diào)用相應(yīng)的語句完成預(yù)期操作。

4結(jié)論

嵌入式智能儀器觸摸屏接口增強(qiáng)了儀器系統(tǒng)的人機(jī)交互功能,方便了操作人員的使用;接口電路和驅(qū)動程序的模塊化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論