www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]觸摸屏驅動程序的設計和實現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

  (4)獲得穩(wěn)定的、去抖動的測量數(shù)據

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

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

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

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉型等手段,幫助...

關鍵字: LINK AI BSP 智能家電

嵌入式軟件

15715 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉