国产wwww_免费成人黄色网_日本久久精品电影_校园春色影音先锋_亚洲国产aⅴ天堂久久_毛片在线看网站_黄色成人在线观看

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

觸摸屏驅(qū)動程序的設(shè)計和實現(xiàn)

發(fā)布時間: 2011-03-23  點擊次數(shù): 7687次

 
觸摸屏驅(qū)動程序的設(shè)計和實現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

聯(lián)系我們

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

掃一掃 更多精彩

微信二維碼

網(wǎng)站二維碼

聯(lián)


冀公網(wǎng)安備 13020302000703號

国产wwww_免费成人黄色网_日本久久精品电影_校园春色影音先锋_亚洲国产aⅴ天堂久久_毛片在线看网站_黄色成人在线观看
亚洲丝袜美腿综合| 欧美一区二区观看视频| 国产成人av影院| 久久av资源站| 久久99日本精品| 久久国产日韩欧美精品| 美女一区二区视频| 激情图片小说一区| 激情综合色综合久久| 国内精品视频一区二区三区八戒| 免费人成精品欧美精品| 美腿丝袜亚洲三区| 国产一区二区三区香蕉| 成人性生交大片免费看视频在线 | 国产风韵犹存在线视精品| 国产精品亚洲一区二区三区妖精| 久久精品国产色蜜蜜麻豆| 国产一区二区视频在线| 99精品视频在线观看| 日本电影亚洲天堂一区| 欧美三级午夜理伦三级中视频| 欧美精品一二三区| 日韩欧美中文字幕制服| 欧美精彩视频一区二区三区| 亚洲麻豆国产自偷在线| 日本不卡一二三| 成人福利视频网站| 欧美日韩夫妻久久| 久久久久亚洲蜜桃| 一区二区三区精品在线| 精品在线免费视频| 色综合激情五月| 精品免费国产一区二区三区四区| 欧美国产激情二区三区| 亚洲成人你懂的| 国产aⅴ精品一区二区三区色成熟| 91年精品国产| 久久日一线二线三线suv| 亚洲欧美日韩一区二区| 蜜臀av一区二区| 色综合久久综合网97色综合 | 精品国产一区二区三区四区四| 国产日韩一级二级三级| 午夜精品在线看| 成人黄色a**站在线观看| 欧美狂野另类xxxxoooo| 综合自拍亚洲综合图不卡区| 另类小说综合欧美亚洲| 91精品福利视频| 国产精品久久一级| 国产一区二区三区观看| 欧美麻豆精品久久久久久| 国产精品护士白丝一区av| 韩国视频一区二区| 欧美日韩视频在线一区二区| ...av二区三区久久精品| 国产在线视频精品一区| 欧美二区乱c少妇| 一二三区精品福利视频| 91在线视频在线| 久久精品视频在线免费观看| 久久精品久久精品| 欧美一区二区视频免费观看| 亚洲成人资源在线| 色偷偷久久人人79超碰人人澡| 欧美国产一区视频在线观看| 国产精品一区二区无线| 亚洲精品在线观看网站| 精品一区二区三区av| 日韩免费高清视频| 久久爱www久久做| 精品国产99国产精品| 美女视频一区二区三区| 日韩三级在线观看| 男人的j进女人的j一区| 欧美一区二区啪啪| 狠狠色丁香婷婷综合| 精品久久国产字幕高潮| 国内外成人在线| 国产欧美精品一区二区色综合朱莉 | 日韩精品一区二区在线观看| 久久精品国产亚洲a| 2024国产精品视频| 国产盗摄女厕一区二区三区 | 国产精品免费免费| 色综合久久99| 亚州成人在线电影| 日韩欧美不卡在线观看视频| 精品一区二区三区在线观看| 欧美国产日韩精品免费观看| 成人免费视频免费观看| 亚洲乱码中文字幕| 8x福利精品第一导航| 精品在线观看免费| 国产精品久久久久aaaa| 欧美日韩激情一区二区| 国产自产2019最新不卡| 国产精品三级久久久久三级| 91福利国产精品| 婷婷丁香激情综合| 国产免费观看久久| 欧美日韩一区二区三区四区| 久久99精品久久久久久国产越南| 亚洲国产激情av| 欧美无人高清视频在线观看| 免费欧美日韩国产三级电影| 欧美国产精品专区| 欧美日韩视频在线一区二区 | 亚洲另类色综合网站| 欧美一级在线免费| 99麻豆久久久国产精品免费优播| 午夜影视日本亚洲欧洲精品| 久久精品一区四区| 欧美日韩激情一区| 成人黄色在线视频| 久久精品国产精品亚洲精品| 一区二区三区中文字幕| 国产欧美一区二区精品久导航| 欧洲av在线精品| 成人伦理片在线| 麻豆精品一区二区| 亚洲国产日韩综合久久精品| 欧美国产1区2区| 欧美xingq一区二区| 欧美最新大片在线看| 国产成人精品一区二区三区四区| 亚洲高清视频的网址| 国产精品盗摄一区二区三区| 精品久久久久一区二区国产| 欧美在线看片a免费观看| 不卡一卡二卡三乱码免费网站 | 国产丝袜美腿一区二区三区| 欧美一区二区三区白人| 欧美三区免费完整视频在线观看| 91小视频在线观看| 成人黄色小视频| 丁香啪啪综合成人亚洲小说 | 国产精品青草久久| 久久蜜桃av一区二区天堂| 欧美一级精品大片| 欧美在线免费视屏| 欧美午夜精品久久久久久超碰| 色天天综合久久久久综合片| 成人a级免费电影| 国产白丝网站精品污在线入口| 国产在线精品一区二区夜色| 裸体歌舞表演一区二区| 美腿丝袜一区二区三区| 美国十次综合导航| 久久99久久99| 麻豆成人综合网| 国产做a爰片久久毛片| 国产一区二区三区av电影| 精品系列免费在线观看| 激情文学综合插| 国产精品亚洲第一| 成人综合婷婷国产精品久久| 丁香婷婷综合色啪| 成人高清视频在线| 91香蕉视频mp4| 在线观看日韩av先锋影音电影院| 欧美四级电影网| 91精选在线观看| 欧美成人女星排行榜| 国产亚洲一区二区三区四区 | 亚洲中国最大av网站| 视频一区视频二区在线观看| 久久电影国产免费久久电影 | 一二三四区精品视频| 五月激情六月综合| 精品一区二区三区视频在线观看| 丁香六月综合激情| 在线精品亚洲一区二区不卡| 欧美精品亚洲一区二区在线播放| 精品成人免费观看| 自拍偷自拍亚洲精品播放| 亚洲成av人综合在线观看| 久久精品噜噜噜成人av农村| 成人精品鲁一区一区二区| 欧美无砖专区一中文字| 久久精品一区四区| 亚洲影视在线播放| 国产成人在线视频播放| 欧美三级三级三级爽爽爽| 精品精品国产高清a毛片牛牛| 中文字幕在线一区二区三区| 日韩国产精品大片| 99久久国产免费看| 日韩欧美国产wwwww| 亚洲女爱视频在线| 久久不见久久见中文字幕免费| 97精品久久久午夜一区二区三区 | 精品久久久久久久久久久久久久久| 中文字幕精品一区二区精品绿巨人| 亚洲 欧美综合在线网络| 国产高清精品久久久久| 91精品国产综合久久精品app| 欧美激情资源网| 蜜臀精品久久久久久蜜臀| 色婷婷激情综合|