新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于嵌入式技術的智能儀器觸摸屏接口設計

        基于嵌入式技術的智能儀器觸摸屏接口設計

        作者: 時間:2012-10-18 來源:網絡 收藏

        2.2 的校準

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

        這樣, 在測得( x1 , y1 ) 和( x2 , y2 ) 點觸摸屏的采樣值后, 利用上述公式編制校準函數, 在觸摸屏工作的過程中, 計算出實際觸摸點對應的顯示坐標,完成觸摸屏的校準。

        圖4 觸摸屏的校準

        圖4 觸摸屏的校準

        3 觸摸屏用戶應用程序

        創建的Linux設備文件系統觸摸屏節點為/dev/ts.在應用程序中, 可以像打開文件一樣用open函數打開設備文件, 然后用read ( )函數讀取由驅動傳遞到用戶空間的數據。應用程序的開發采用MiniGU I進行, MiniGU I是由北京飛漫公司開發, 可應用于實時系統中的輕量級圖形用戶界面支持系統。其函數與Windows SDK類似, 開發方便。

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

        static char * SYSTEM_VALUES[ ] = { fbcon , PX255B , /dev/ ts , none };

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

        圖5 MiniGU I中的觸摸屏輸入

        圖5 MiniGU I中的觸摸屏輸入

        MiniGU I通過觸摸屏設備驅動程序接收原始的輸入數據, 把它轉換為MiniGU I抽象的觸摸屏事件和數據。

        相關的底層事件處理例程把這些觸摸事件轉換為上層的觸摸消息, 放到相應的消息隊列中。應用程序通過消息循環獲取這些消息, 交由窗口過程處理。編制針對觸摸屏的應用程序時, 需要做的只是在窗口接收到諸如MSG _LBUTTONDOWN 等觸屏消息時, 調用相應的語句, 完成預期操作。

        4 結論

        觸摸屏增強了儀器系統的人機交互功能, 方便了操作人員的使用; 電路和驅動程序的模塊化方便了儀器的后續改進和新產品的開發, 并可根據需要移植應用到各種不同場合。的觸摸屏接口已經成功應用在故障診斷巡檢儀器中, 其工作穩定, 運行可靠, 具有很好的實用價值。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正镶白旗| 乐山市| 会理县| 萍乡市| 永顺县| 泾川县| 岳普湖县| 清水县| 尉犁县| 奇台县| 江油市| 荆门市| 阳泉市| 威远县| 南皮县| 甘孜县| 文水县| 清苑县| 昌邑市| 呼图壁县| 古蔺县| 蚌埠市| 沅江市| 涿鹿县| 南城县| 保山市| 乌鲁木齐市| 汝州市| 潮州市| 建始县| 松潘县| 衡山县| 利辛县| 安福县| 确山县| 开化县| 乾安县| 沧州市| 康马县| 利津县| 辉南县|