<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 觸摸屏驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)

          觸摸屏驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)

          作者: 時(shí)間:2009-08-28 來源:網(wǎng)絡(luò) 收藏

          嵌入式設(shè)備按其技術(shù)原理可分為五類:矢量壓力傳感式、電阻式、電容式、紅外線式和表面聲波式。其中電阻式在嵌入式系統(tǒng)中用的較多,電阻式可分為四線、五線、七線等幾種。一般來說,WinCE觸摸屏驅(qū)動(dòng)的設(shè)計(jì)和實(shí)現(xiàn)有以下幾個(gè)步驟:

          本文引用地址:http://www.ex-cimer.com/article/195746.htm

          (1)配置和初始化觸摸屏

          觸摸屏驅(qū)動(dòng)在初始化過程會(huì)調(diào)用TouchPanelEnable函數(shù),該函數(shù)調(diào)用的DDSI函數(shù)為DdsiTouchPanelEnable和 DdsiTouchPanelDisable。這兩個(gè)DDSI接口函數(shù)是驅(qū)動(dòng)實(shí)現(xiàn)的關(guān)鍵所在,分別用于打開和關(guān)閉觸摸屏硬件。但是為了降低功耗,這兩個(gè)函數(shù)其實(shí)可以不真正操作硬件,而只是實(shí)現(xiàn)軟件上的控制。

          同時(shí),在初始化時(shí)還需要進(jìn)行這幾個(gè)配置和初始化:一是創(chuàng)建事件hTouchPanelEvent和 hCalibrationSampleAvailable,前者是在正常狀態(tài)下當(dāng)有觸摸筆按下或者按下后需要定時(shí)采集數(shù)據(jù)時(shí)被觸發(fā);而后者是在校準(zhǔn)狀態(tài)下當(dāng)有校準(zhǔn)數(shù)據(jù)輸入時(shí)被觸發(fā)。二是檢查初始化所需的中斷gIntrTouch(觸摸屏中斷)和gIntrTouchChanged(定時(shí)器中斷),并將這兩個(gè)中斷關(guān)聯(lián)到事件hTouchPanelEvent。三是創(chuàng)建一個(gè)ISR線程TouchPanelpISR,用于等待和處理觸摸屏事件 hTouchPanelEvent,它也是整個(gè)中唯一的事件源。

          (2)校準(zhǔn)觸摸屏基準(zhǔn)參數(shù)

          完成前面繁瑣的工作后,的各種功能就都已經(jīng)準(zhǔn)備就緒了,現(xiàn)在就可以實(shí)際操作觸摸屏幕了。但一般來說,電阻式觸摸屏需要校準(zhǔn),也就是說在驅(qū)動(dòng)啟動(dòng)過程中MDD層要調(diào)用相應(yīng)的DDSI函數(shù)來讀取注冊(cè)表中的校正數(shù)據(jù)校正觸摸屏。理想情況下,校準(zhǔn)程序只要在嵌入式設(shè)備初次加電測(cè)試過程中運(yùn)行一次就可以了,參考值會(huì)被存儲(chǔ)在非易失性存儲(chǔ)器中,以免讓用戶在以后的加電啟動(dòng)期間再做校準(zhǔn)。不過,高質(zhì)量的觸摸屏是應(yīng)該要向用戶提供一種進(jìn)入校準(zhǔn)例程的途徑,從而在由于溫度漂移或其它因素造成校準(zhǔn)不準(zhǔn)確時(shí)進(jìn)行重新校準(zhǔn)。

          電容式觸摸屏相關(guān)文章:電容式觸摸屏原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 觸摸屏 驅(qū)動(dòng)程序

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();