国产免费一区二区三区最新不卡_gogo全球大胆高清人露出91_国产无遮挡一区二区三区毛片日本_免费淫视频_俄罗斯16一20sex牲色另类_免费观看黄色片视频

您現在的位置:智能制造網>技術中心>觸摸屏驅動程序的設計和實現

直播推薦

更多>

企業動態

更多>

推薦展會

更多>

觸摸屏驅動程序的設計和實現

2011年05月17日 21:16:54人氣:7257來源:唐山領航自動化設備有限公司

 
觸摸屏驅動程序的設計和實現

嵌入式設備觸摸屏按其技術原理可分為五類:矢量壓力傳感式、電阻式、電容式、紅外線式和表面聲波式。其中電阻式觸摸屏在嵌入式系統中用的較多,電阻式觸摸屏可分為四線、五線、七線等幾種。一般來說,WinCE觸摸屏驅動的設計和實現有以下幾個步驟:

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

觸摸屏驅動在初始化過程會調用TouchPanelEnable函數,該函數調用的DDSI函數為DdsiTouchPanelEnable和DdsiTouchPanelDisable。這兩個DDSI接口函數是驅動實現的關鍵所在,分別用于打開和關閉觸摸屏硬件。但是為了降低功耗,這兩個函數其實可以不真正操作硬件,而只是實現軟件上的控制。

同時,在初始化時還需要進行這幾個配置和初始化:一是創建事件hTouchPanelEvent和hCalibrationSampleAvailable,前者是在正常狀態下當有觸摸筆按下或者按下后需要定時采集數據時被觸發;而后者是在校準狀態下當有校準數據輸入時被觸發。二是檢查初始化所需的中斷gIntrTouch(觸摸屏中斷)和gIntrTouchChanged(定時器中斷),并將這兩個中斷關聯到事件hTouchPanelEvent。三是創建一個ISR線程TouchPanelpISR,用于等待和處理觸摸屏事件hTouchPanelEvent,它也是整個驅動程序中*的事件源。

(2)校準觸摸屏基準參數

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

在理想情況下,校正觸摸屏基準只需兩組原始數據,即在屏幕對角讀取的zui小和zui大值。但在實際應用中,因為許多電阻式觸摸屏存在明顯的非線性,如果只在zui小和zui大值之間簡單的插入位置數值會導致驅動程序非常的不。因此,在WinCE中需要獲取多個校準點,常用的校準點數量為5個。

方法是:①首動程序在函數DdsiTouchPanelGetDeviceCaps 中設置校準點的個數;②是系統在TouchDriverCalibrationPointGet中獲取每個校準點的屏幕坐標;③是在屏幕界面的校準點坐標處顯示一個位置符號,用戶需要地在位置符號按下觸摸屏;④驅動程序通過TouchPanelReadCalibrationPoint函數讀取相應的觸摸屏坐標值;⑤然后再開始下一個校準點,直到循環設定的次數后將采集到的觸摸屏坐標值和校準點屏幕坐標送到TouchPanelSetCalibration函數中進行處理,該函數將產生校準基準參數。校準完成之后,觸摸屏便可以開始正常的操作了。

(3)判斷屏幕是否被觸摸

一旦完成了觸摸屏硬件設置、初始化和基準參數校準后,接下來就需要用一種可靠的方法來判斷屏幕是否被觸摸了。WinCE提供了屏幕是否被觸摸的檢測機制,而且當觸摸事件發生時還可選擇是否中斷主處理器。判斷屏幕是否被觸摸的驅動程序的函數名叫WaitForTouchState()。當屏幕被初次觸摸時喚醒主機的中斷,稱為PEN_DOWN中斷。這樣做可以讓驅動程序在屏幕沒有被觸摸時中斷自己的執行,而不消耗任何CPU資源,而一旦用戶觸摸屏幕,驅動程序就被喚醒并進入轉換模式。

當被喚醒后就有一組模數數據等待轉換并產生中斷信號。中斷是硬件與軟件打交道的重要方法,所以大多數驅動程序都涉及到中斷處理。就中斷處理而言,WinCE采用了一種*的方法。它將中斷處理分為兩步:中斷服務例程(ISR)和中斷服務線程(IST)。具體來講就是把每個硬件的設備中斷請求(IRQ) 和一個ISR 起來,當一個中斷發生并未被屏蔽時,內核調用該中斷注冊的ISR。因為ISR 運行于內核模式,所以應該被設計得盡可能的短,ISR 的基本職責是引導內核調度和啟動合適的IST。IST 在設備驅動程序軟件模塊中編寫,它從硬件獲取或向硬件發送數據和控制代碼,并進一步處理設備中斷。
WinCE觸摸屏驅動程序是采用中斷方式對觸摸筆的按下狀態進行檢測,當檢測到觸摸筆按下時產生的中斷,就會觸發一個事件通知一個工作線程開始采集數據。同時,驅動將打開一個硬件定時器,只要檢測到觸摸筆仍然在按下狀態,將定時觸發同一個事件通知這個工作線程繼續采集數據,直到觸摸筆抬起后關閉該定時器。簡單的說,就是驅動程序會同時采用觸摸屏中斷和定時器中斷這兩個中斷源。目的在于不僅可以監控觸摸筆按下和抬起狀態,而且可以檢測觸摸筆按下時的拖動軌跡。觸摸屏中斷的兩個邏輯中斷分別是:SYSINTR_TOUCH是用于觸摸筆點擊觸摸屏時產生相應的中斷;SYSINTR_TOUCH_CHANGE則用于觸摸筆離開時產生相應的中斷。

(4)獲得穩定的、去抖動的測量數據

在進行觸摸屏程序開發時,一定要注意原始的觸摸測量數據經常會有一些噪聲和偏差,這是正常的。一般來說,只有用戶緊緊壓住電阻觸摸屏才能得到兩個連續的讀數,然而我們會發現當觸控筆或手指按上或離開觸摸屏時,讀數的變化要比保持穩定壓力時大得多。這是因為用戶是以機械的方式連通二個平面電阻-觸摸層,當用戶按壓和釋放觸摸屏時,在很短的一段時間內觸摸屏的電氣連接均處于臨界狀態。這時,我們需要丟棄這些讀數直到系統穩定下來,否則提交的觸摸位置讀數會產生大幅跳躍,導致嚴重的失真或觸摸位置漂移。

這時就需要進行折衷考慮,這也是觸摸屏驅動設計的關鍵所在。如果我們要求較窄的穩定窗口,那么驅動程序將無法跟蹤快速的“拖曳”操作;如果加寬穩定窗口,就可能面臨著許多風險,這些風險包括接收到不的觸摸數據,或上面描述處于臨界狀態的層連接結果。這時,就需要通過實驗來確定適合系統的*值。

在正常情況下,當屏幕被觸摸時驅動程序應會得到每個穩定的讀數,并利用簡單的線性插值法將原始數據轉換成像素坐標。讀取觸摸點的坐標是由DdsiTouchPanalGetPoint()函數實現的。另外,在每個轉換過程的前后,驅動程序必須檢查并確認屏幕仍處于被觸摸狀態。因為我們不希望采集到實際上是處于“開路狀態”的穩定讀數。因此,在讀取觸摸數據時,我們需要對原始數據進行去抖動處理,然后確定屏幕被觸摸時是否有穩定的讀數;如果不穩定就要繼續讀取數據并進行去抖動處理,直到得到穩定的數據為止。

zui后,觸摸屏驅動程序應將觸摸狀態和位置變化信息發送給更高層的應用軟件,以完成一次完整的觸摸操作。
 

全年征稿/資訊合作 聯系郵箱:[email protected]

免責聲明

  • 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.lfljgfsj.com。違反者本網將追究相關法律責任。
  • 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
  • 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

<
更多 >

工控網機器人儀器儀表物聯網3D打印工業軟件金屬加工機械包裝機械印刷機械農業機械食品加工設備制藥設備倉儲物流環保設備造紙機械工程機械紡織機械化工設備電子加工設備水泥設備海洋水利裝備礦冶設備新能源設備服裝機械印染機械制鞋機械玻璃機械陶瓷設備橡塑設備船舶設備電子元器件電氣設備


我要投稿
  • 投稿請發送郵件至:(郵件標題請備注“投稿”)1271141964.qq.com
  • 聯系電話0571-89719789
工業4.0時代智能制造領域“互聯網+”服務平臺
智能制造網APP

功能豐富 實時交流

智能制造網小程序

訂閱獲取更多服務

微信公眾號

關注我們

抖音

智能制造網

抖音號:gkzhan

打開抖音 搜索頁掃一掃

視頻號

智能制造網

公眾號:智能制造網

打開微信掃碼關注視頻號

快手

智能制造網

快手ID:gkzhan2006

打開快手 掃一掃關注
意見反饋
關閉
企業未開通此功能
詳詢客服 : 0571-87858618
主站蜘蛛池模板: 午夜精品久久久久久中宇 | 久夜草 | 亚洲日色 | 日本黄色免费播放 | 国产一级大片在线观看 | 在线中文日韩 | 久久成人精品视频 | 国产午夜精品在线 | chinese xvideos gay | 99精品视频在线观看免费播放 | 国产午夜电影在线观看 | 九九热视频免费观看 | 黄www片 | 毛片免费视频观看 | 国产二区三区在线播放 | 国产午夜精品在线 | 久久密| 亚洲电影免费观看国语版 | 中文字幕一区二区三区四区 | 美女被免费网站在线软件 | 久久精品国产亚洲7777小说 | 精品一区二区三区毛片 | 成人毛片免费 | 国产成人自拍视频在线 | 男女羞羞视频 | 中文字幕一区二区三区四区 | 亚洲卡通动漫在线观看 | 国产精品片一区二区三区 | 成年免费在线视频 | 国产精品亚洲综合一区二区三区 | 国产精品久久久久久影院8一贰佰 | 欧美一级淫片a免费播放口 91九色蝌蚪国产 | 91精品成人福利在线播放 | 激情视频免费看 | 天天透天天狠天天爱综合97 | 成人在线视频播放 | xxxxhd18hd日本hd| 欧美中文字幕一区二区三区亚洲 | 日韩视频在线观看免费 | 亚洲成人自拍电影 | 亚洲经典视频 |