毛片高清-毛片电影网-毛片的网站-毛片成人永久免费视频-欧美a免费-欧美a级v片不卡在线观看

熱門搜索:唐山變頻器,唐山PLC,唐山軟啟動器,唐山成套配電柜,唐山西門子變頻器,唐山四方變頻器,唐山臺達PLC,唐山西門子PLC,唐山歐姆龍PLC,唐山三菱PLC
技術文章 / article 您的位置:網站首頁 > 技術文章 > 觸摸屏驅動程序的設計和實現

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

發布時間: 2011-03-23  點擊次數: 7554次

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

嵌入式設備觸摸屏按其技術原理可分為五類:矢量壓力傳感式、電阻式、電容式、紅外線式和表面聲波式。其中電阻式觸摸屏在嵌入式系統中用的較多,電阻式觸摸屏可分為四線、五線、七線等幾種。一般來說,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后,觸摸屏驅動程序應將觸摸狀態和位置變化信息發送給更高層的應用軟件,以完成一次完整的觸摸操作。
 

上一篇:變頻器工作原理
下一篇:沒有了

聯系我們

唐山領航自動化設備有限公司 公司地址:河北省唐山市開平區東華五金城14棟1號
  • 電  話:0315-2855660
  • 郵箱:tslhzdh@163.com

掃一掃 更多精彩

微信二維碼

網站二維碼




冀公網安備 13020302000703號

亚洲AV永久无码精品放毛片一| 久久AV秘 一区二区三区蜜桃| 四川老妇山边性对白| 成年视频APP短视频在线观看| 欧美性受XXXX人人本视频| 97久久久精品综合88久久| 国产大屁股视频免费区| 色悠久久久久综合欧美99| 2018天天躁夜夜躁狠狠躁| 寂寞骚妇被后入式爆草抓爆| 亚洲av网站在线| 国外免费B2B网站| 亚洲AV无码一区毛片AV| 国色天香卡一卡二乱码| 亚洲JIZZJIZZ中国妇女| 精产国品一二三产区区别在哪儿呢| 亚洲国产AV一区二区三区| 红桃视频成人传媒| 亚洲日本乱码一区二区在线二产线| 国产精品久久久久久无码| 无码一区二区三区AV免费蜜桃| 国产精品美女久久久久久久 | 偷窥丶偷拍丶妓女丶自由| JAPANESE军人强迫| 强被迫伦姧惨叫VIDEO| 宝宝好涨水快流出来免费视频| 人人玩人人添人人澡东莞| 97久久超碰福利国产精品…| 欧美人与禽ZOZZO| 宝贝这么湿想要吗| 色婷婷综合久久久中文字幕| 国产AV无码专区亚洲AV毛网站| 人妻多毛丰满熟妇av无码| 成人国产精品一区二区网站| 特级西西人体444WWW高清大| 国产裸体舞一区二区三区| 亚洲AV永久无码精品无码电影| 精品国精品国产自在久国产应用| 亚拍精品一区二区三区探花 | GAY国产GV又粗又长又大| 日韩精品视频一区二区三区| 国产99在线 | 欧美| 亚洲 另类 日韩 制服 无码| 精品国产成人国产在线观看| 又爽又黄又无遮挡的视频在线观看 | 狠狠精品干练久久久无码中文字幕| 亚洲精品无码午夜福利理论片| 久久人人妻人人做人人爽| 2020国产精品久久久久精品| 人妻三级日本香港三级极| 国产AⅤ爽AV久久久久成人精品| 午夜一区欧美二区高清三区| 九九九精品成人免费视频小说| 中文字幕日产无码| 蜜桃精品欧美一区二区三区| JAZZJAZZJAZZ日本| 天堂…在线最新版在线| 狠狠爱ADY亚洲色| 在线观看亚洲AV每日更新| 人妻熟妇女的欲乱系列| XXXXHDTEEN欧美内射| 全球AV集中精品导航福利| 国产97在线 | 日韩| 亚洲AV无码专区春药在线观看 | 肉丝超薄少妇一区二区三区| 国产情侣露脸高清在线| 亚洲AV无码成人精品区欧洲| 久久人午夜亚洲精品无码区| WWW一区二区WWW免费| 无码人妻一区二区三区精品视频年| 九九久久99综合一区二区| 97免费人妻在线视频| 四虎国产精品免费久久| 精品无码一区二区三区电影| ASS年轻少妇BBWPIC精品| 婷婷丁香五月激情综合| 久久国国产免费999| 在熟睡夫面前侵犯我在线播放| 人人人澡人人人妻人人人精品| 国产日产欧产精品| 中国熟妇毛多多裸交视频| 日韩无码视频一区二区三区四区| 国内少妇BBWBBW黑森林| 8090私人影院| 无码熟妇人妻AV| 领导不戴套玩弄下属娇妻| 顶级私人家庭影院| 亚洲乱码日产一区三区| 奇米综合四色77777久久| 国产熟女真实乱精品视频| 中文字幕人妻高清乱码| 天天看片在线完整版| 久久人午夜亚洲精品无码区| 东北妇女精品BBWBBW| 亚洲熟女乱色一区二区三区| 人人妻熟妇中年乱子伦A| 黑人大荫蒂高潮视频| MD豆传媒APP网址入口免费| 亚洲 日韩 丝袜 熟女 变态 | 色综合久久中文字幕无码| 久久精品国产99久久久古代| 成人艳情一二三区| 亚洲熟妇人av一区二区三区| 日韩精品一区二区三区四区蜜桃| 精品无码国产自产野外拍在线| 八戒八戒在线资源网| 亚洲精品嫩草研究院久久| 日本精品一区二区三区在线视频| 激情综合一区二区三区| 边吃奶边扎下面动态| 亚洲日本一线产区和二线产区区别| 日产精品乱码卡一卡2卡三网站| 精品无码人妻一区二区三区品| 成人A毛片免费全部播放| 亚洲午夜无码毛片Av| 四虎影视成人永久免费观看视频| 邻居一晚让我高潮3次正常吗| 国产精品高潮呻吟AV久久无码 | 日日碰狠狠添天天爽| 久久久人人人婷婷色东京热| 啊灬用力灬啊灬啊灬啊灬电子书| 亚洲精品综合欧美一区二区三区| 日韩久久久久久中文人妻| 久久棈精品久久久久久噜噜| 国产精品99久久久久久猫咪 | 亚洲AV无码国产在丝袜APP | 亚洲AV成人片无码网站网8X| 欧美中日韩免费观看网站| 精品无码久久久久国产| 国产AⅤ无码专区亚洲AV琪琪| 中国CHINESE壮男GⅤ军警| 西西4444WWW大胆无码| 人妻少妇 少妇人妻第一页| 久久久久精品国产四虎2021| 国产精品无码AV一区二区三区| JK制服白丝自慰无码自慰网站| 亚洲午夜精品一区二区| 无码人妻精一区二区三区| 人妻av无码一区二区| 久久丫精品国产亚洲AV| 国产无套码AⅤ在线观看| 成人区人妻精品一区二区不卡视频| 又大又粗弄得我好爽GIF| 亚洲AV成人无码一区在线观看| 日韩A无V码在线播放| 免费看漫画在线成人漫画| 精品久久久久久久久中文字幕| 国产AⅤ无码专区亚洲AV综合网| A级毛片毛片免费观看久潮喷| 亚洲一区二区三区在线观看网站| 午夜丰满少妇性开放视频| 日韩精品少妇无码受不了| 欧美、另类亚洲日本一区二区| 国产清纯在线一区二区WWW| 成人国产精品一区二区免费| 7777久久亚洲中文字幕| 亚洲日韩在线A视频在线观看| 午夜无码视频在线观看网站| 日韩综合无码一区二区| 欧美成人V片观看| 老师今晚让你爽个够| 精品免费久久久久久久| 国产毛多水多高潮高清| 丰满圆润大胸在线| 扒开双腿猛进入喷水高潮叫声| [中文] [3D全彩H漫]新来| 亚欧洲乱码视频一二三区| 熟妇大屁股一区二区三区视频| 漂亮人妻熟睡中被公侵犯中文版| 蜜桃av噜噜噜一区二区三区| 久久久久精品国产AV麻豆 | 琪琪网三级伦锂电影| 妺妺窝人体色WWW看美女| 久久久噜噜噜久久| 精品无码AV一区二区三区不卡| 国产亚洲日韩一区二区三区| 国产激情精品一区二区三区| 粉嫩av一区二区网站入口| 被陌生人带去卫生间啪到腿软| 99热精国产这里只有精品 | 国产乱子伦一区二区三区=| 国产95在线 | 欧美| 成人网站在线进入爽爽爽 | 国产女人18毛片水真多18精品| 国产成人AV无码永久免费| 丁香五月婷激情综合第九色| 餐桌下玩弄人妻丝袜小脚| JAPANESE少妇高潮潮喷| 99久久婷婷国产综合精品| 2019日韩中文字幕MV| 坐公交车居然被弄了2个小时小说| 伊人久久大香线蕉AV最新午夜| 亚洲一区二区三区波多野结衣 | 自拍偷自拍亚洲精品10P| 永久免费AV无码网站韩国毛片| 野花香社区在线视频观看播放| 亚洲日本乱码一区二区在线二产线| 亚洲精品无码你懂的网站| 亚洲精品无码久久久久Y| 亚洲娇小与黑人巨大video|