• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統在觸摸屏驅動程序中的應用

    嵌入式系統在觸摸屏驅動程序中的應用

    作者: 時間:2011-10-27 來源:網絡 收藏
    3 WinCE下模型

    本文引用地址:http://www.czjhyjcfj.com/article/150095.htm

      要編寫還要確定它是屬于哪種驅動。Windows CE分本機設備驅動和流設備驅動。本機設備驅動程序是被靜態地鏈接到GWES,它們不作為一個單獨的DLL存在。有一些類型的設備,如鍵盤、顯示器和Pc卡插槽等對操作都有一定的接口,是專門用于Windows CE.NET的。所以它們都屬本機設備驅動。若是按照結構分,又可分為分層的驅動程序和不分層的驅動程序。分層的驅動程序由兩個設置好的層組成:上層是模型設備驅動程序(MDD),下層是依賴平臺的驅動程序(PDD)。流接口驅動程序是以動態鏈接庫形式存在的,由設備管理器統一加載、管理和卸載。其驅動模型見圖3。本文采用分層的驅動程序來完成基于$3C2410的驅動。

      4 Windows CE下驅動程序的實現

      4.1 配置硬件

      對于分層的驅動程序只需要編寫對應于特定硬件平臺的PDD層代碼。首先是配置控制器硬件,這是完成驅動程序的第一件事。即對進行硬件初始化。也就是通過向映射到存儲器的寄存器中寫人數據將觸摸屏控制器設置成某個確定的狀態。配置硬件之前,我們需要事先決定是否采用中斷驅動。

      這里我們采用中斷驅動方式。要說明的是。并不是采用中斷永遠是最好的設計方式。配置硬件這一過程是由TouchPanalPowerOn0函數完成的。下面是部分實現代碼:

      4.2 設置中斷判斷被觸摸情況

      對觸摸屏基本的硬件進行正確設置完成后。接下來就要采用一種可靠的方法來判斷屏幕是否被觸摸了。在其驅動中采用了兩個邏輯中斷:

      1.SYSINTR TOUCH,用于觸摸筆點擊觸摸屏時產生相應的中斷:

      2.SYSINTR TOUCH_CHANGE,用于觸摸筆離開時產生相應的中斷。

      該過程有幾個判斷要點:檢查屏幕是否被觸摸;采集每個軸上的多個原始數據用于以后的過濾;檢查屏幕是否仍在被觸摸。

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


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宜兴市| 循化| 彭州市| 南投县| 新疆| 融水| 兰州市| 丹阳市| 霍山县| 孝感市| 吉安市| 南通市| 凤庆县| 荥经县| 南京市| 汝州市| 孝义市| 贡山| 宝鸡市| 凤阳县| 施秉县| 陆川县| 凤庆县| 克什克腾旗| 古蔺县| 修武县| 东源县| 桐柏县| 靖宇县| 尼木县| 集安市| 淮安市| 青铜峡市| 龙川县| 乌兰浩特市| 河津市| 河源市| 景泰县| 新乐市| 滨海县| 南溪县|