新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式觸摸屏驅動程序的研究與開

基于嵌入式觸摸屏驅動程序的研究與開

作者: 時間:2012-03-21 來源:網絡 收藏

3 WinCE下驅動程序模型

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


圖3 WinCE下驅動程序模型

4 Windows CE下驅動程序的實現

4.1 配置硬件

對于分層的驅動程序只需要編寫對應于特定硬件平臺的PDD層代碼。首先是配置控制器硬件,這是完成驅動程序的第一件事,即對進行硬件初始化。也就是通過向映射到存儲器的寄存器中寫入數據將觸摸屏控制器設置成某個確定的狀態(tài)。配置硬件之前,我們需要事先決定是否采用中斷驅動,這里我們采用中斷驅動方式。要說明的是,并不是采用中斷永遠是最好的設計方式。配置硬件這一過程是由TouchPanalPowerOn()函數完成的。下面是部分實現代碼:

TouchPanelPowerOn()

{

......

// Setup GPIOs for touch為觸摸屏設置輸入/輸出口

v_pIOPregs->rGPGCON = ~((0x03 30)|(0x03 28)|(0x03 26)|(0x03 24));

// Set GPG15 to use as nYPON, GPG14 to use as YMON, GPG13 to use as nXPON, GPG12 to use as XMON 配置PORT G的管腳

......

// Setup ADC register

// Down Int, YMON:0, nYPON:1, XMON:0;nXPON:1, Pullup:1, Auto Conv.,Waiting.

v_pADCregs->rADCTSC = (08)|(17)|(16)|(05)|(14)|(03)|(02)|(3);

......

}



評論


相關推薦

技術專區(qū)

關閉