新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)在觸摸屏驅(qū)動(dòng)程序中的應(yīng)用

        嵌入式系統(tǒng)在觸摸屏驅(qū)動(dòng)程序中的應(yīng)用

        作者: 時(shí)間:2011-10-27 來(lái)源:網(wǎng)絡(luò) 收藏
        3 WinCE下模型

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

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

          4 Windows CE下驅(qū)動(dòng)程序的實(shí)現(xiàn)

          4.1 配置硬件

          對(duì)于分層的驅(qū)動(dòng)程序只需要編寫(xiě)對(duì)應(yīng)于特定硬件平臺(tái)的PDD層代碼。首先是配置控制器硬件,這是完成驅(qū)動(dòng)程序的第一件事。即對(duì)進(jìn)行硬件初始化。也就是通過(guò)向映射到存儲(chǔ)器的寄存器中寫(xiě)人數(shù)據(jù)將觸摸屏控制器設(shè)置成某個(gè)確定的狀態(tài)。配置硬件之前,我們需要事先決定是否采用中斷驅(qū)動(dòng)。

          這里我們采用中斷驅(qū)動(dòng)方式。要說(shuō)明的是。并不是采用中斷永遠(yuǎn)是最好的設(shè)計(jì)方式。配置硬件這一過(guò)程是由TouchPanalPowerOn0函數(shù)完成的。下面是部分實(shí)現(xiàn)代碼:

          4.2 設(shè)置中斷判斷被觸摸情況

          對(duì)觸摸屏基本的硬件進(jìn)行正確設(shè)置完成后。接下來(lái)就要采用一種可靠的方法來(lái)判斷屏幕是否被觸摸了。在其驅(qū)動(dòng)中采用了兩個(gè)邏輯中斷:

          1.SYSINTR TOUCH,用于觸摸筆點(diǎn)擊觸摸屏?xí)r產(chǎn)生相應(yīng)的中斷:

          2.SYSINTR TOUCH_CHANGE,用于觸摸筆離開(kāi)時(shí)產(chǎn)生相應(yīng)的中斷。

          該過(guò)程有幾個(gè)判斷要點(diǎn):檢查屏幕是否被觸摸;采集每個(gè)軸上的多個(gè)原始數(shù)據(jù)用于以后的過(guò)濾;檢查屏幕是否仍在被觸摸。

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


        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 吉隆县| 惠州市| 泾川县| 朝阳区| 太保市| 蓝山县| 都匀市| 平江县| 卢龙县| 德州市| 蒲城县| 普兰县| 广河县| 承德市| 永清县| 金秀| 甘谷县| 南和县| 青海省| 白城市| 清徐县| 泽普县| 达尔| 华阴市| 武胜县| 开封县| 扶余县| 马龙县| 射阳县| 册亨县| 吉水县| 长治县| 洪江市| 西乡县| 怀仁县| 宝清县| 武隆县| 疏附县| 新疆| 淮北市| 祁东县|