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

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

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

發(fā)布時(shí)間: 2011-03-23  點(diǎn)擊次數(shù): 7525次

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

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

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

觸摸屏驅(qū)動(dòng)在初始化過(guò)程會(huì)調(diào)用TouchPanelEnable函數(shù),該函數(shù)調(diào)用的DDSI函數(shù)為DdsiTouchPanelEnable和DdsiTouchPanelDisable。這兩個(gè)DDSI接口函數(shù)是驅(qū)動(dòng)實(shí)現(xiàn)的關(guān)鍵所在,分別用于打開(kāi)和關(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è)驅(qū)動(dòng)程序中*的事件源。

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

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

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

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

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

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

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

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

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

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

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

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

上一篇:變頻器工作原理
下一篇:沒(méi)有了

聯(lián)系我們

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

掃一掃 更多精彩

微信二維碼

網(wǎng)站二維碼

聯(lián)


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

国产wwww_免费成人黄色网_日本久久精品电影_校园春色影音先锋_亚洲国产aⅴ天堂久久_毛片在线看网站_黄色成人在线观看
国产剧情在线观看一区二区| 亚洲a一区二区| 日韩精品1区2区3区| 欧美精品成人一区二区三区四区| 亚洲国产中文字幕在线视频综合| 在线日韩国产精品| 日本大胆欧美人术艺术动态| 久久久国产午夜精品| 狠狠色丁香婷婷综合| 国产精品私人自拍| 91豆麻精品91久久久久久| 三级在线观看一区二区| 国产女同互慰高潮91漫画| 欧美视频三区在线播放| 黑人精品欧美一区二区蜜桃| 亚洲啪啪综合av一区二区三区| 欧美日韩精品欧美日韩精品| 岛国精品一区二区| 日韩在线卡一卡二| 中文字幕在线不卡一区二区三区| 在线观看91av| 色综合天天综合在线视频| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲免费av观看| 久久久一区二区| 在线成人午夜影院| 一本色道久久综合亚洲aⅴ蜜桃| 男女男精品视频| 一区二区三区日韩欧美精品| 国产精品系列在线| 精品噜噜噜噜久久久久久久久试看 | 精品国产污污免费网站入口| 处破女av一区二区| 美日韩黄色大片| 亚洲一区二区av电影| 国产精品久久精品日日| 久久久久久久综合| 欧美电影免费观看高清完整版在| 欧美性猛片aaaaaaa做受| 波多野结衣中文一区| 国产成人综合在线观看| 美女视频免费一区| 麻豆精品在线观看| 另类的小说在线视频另类成人小视频在线 | 蜜桃视频在线一区| 午夜久久久影院| 亚洲国产综合91精品麻豆| 亚洲精品免费一二三区| 国产精品久久久一区麻豆最新章节| 久久九九久久九九| 国产人伦精品一区二区| 久久综合国产精品| 国产欧美一区二区三区网站| 国产欧美一区二区精品性色超碰| 2021久久国产精品不只是精品| 2023国产精品自拍| 国产精品久久久久婷婷二区次| 国产精品美女久久久久久久网站| 国产精品福利av| 国产精品不卡在线| 亚洲免费av观看| 日韩av在线播放中文字幕| 蜜臀av一区二区| 国产精品一区不卡| av不卡免费电影| 欧美视频一区二区三区四区| 日韩欧美黄色影院| 欧美韩国日本不卡| 亚洲男人的天堂在线观看| 五月综合激情日本mⅴ| 麻豆国产精品一区二区三区 | 国产精品入口麻豆九色| 亚洲人成网站色在线观看| 亚洲午夜视频在线观看| 久久成人免费电影| 99久久国产免费看| 欧美一卡在线观看| 国产精品白丝在线| 日韩精品一二三区| 成人午夜精品在线| 777久久久精品| 国产精品国产三级国产| 日韩福利电影在线| 99久久综合国产精品| 91精品国产手机| 中文字幕一区二区三| 美美哒免费高清在线观看视频一区二区| 国产九九视频一区二区三区| 日本道在线观看一区二区| 精品久久久久久久久久久院品网 | 精品福利av导航| 日韩码欧中文字| 久久精品国产成人一区二区三区| 不卡av电影在线播放| 欧美成人a在线| 国产v综合v亚洲欧| 欧美亚洲免费在线一区| 亚洲精品在线三区| 亚洲福中文字幕伊人影院| 成人高清在线视频| 精品入口麻豆88视频| 亚洲一区二区精品3399| 国产精品1区2区3区| 欧美精选一区二区| 亚洲自拍偷拍麻豆| 99久久精品国产麻豆演员表| 国产亚洲视频系列| 国产在线不卡视频| 91精品在线麻豆| 亚洲一区成人在线| 色综合色狠狠综合色| 国产精品萝li| voyeur盗摄精品| 国产精品素人视频| 不卡免费追剧大全电视剧网站| 国产清纯白嫩初高生在线观看91| 精品中文av资源站在线观看| 欧美丰满嫩嫩电影| 天堂av在线一区| 91精品啪在线观看国产60岁| 性感美女极品91精品| 欧美色爱综合网| 香蕉av福利精品导航| 欧美日韩高清一区二区不卡| 五月天亚洲精品| 欧美一区三区二区| 蜜臀va亚洲va欧美va天堂| 91精品国产高清一区二区三区蜜臀| 首页综合国产亚洲丝袜| 在线不卡免费欧美| 老汉av免费一区二区三区| 欧美va亚洲va国产综合| 国产一区二区三区观看| 国产日韩欧美激情| 99久久99久久精品免费观看| 亚洲一线二线三线视频| 欧美一区二区视频观看视频| 久久99精品久久久久久国产越南| 26uuu另类欧美| 成年人午夜久久久| 一区二区成人在线| 欧美一区二区三区四区高清| 国精产品一区一区三区mba桃花| 中文字幕不卡一区| 欧美在线观看视频一区二区三区| 亚洲成av人在线观看| 欧美一区欧美二区| 国产99一区视频免费| 亚洲精品中文字幕乱码三区| 欧美一区二区久久| 成人丝袜18视频在线观看| 亚洲第一激情av| 国产欧美精品国产国产专区 | 国产精品一二三区| 亚洲免费观看高清完整版在线 | 丝袜美腿亚洲一区二区图片| 26uuu亚洲婷婷狠狠天堂| av在线这里只有精品| 日韩vs国产vs欧美| 国产精品久久看| 日韩欧美一级二级三级| jizzjizzjizz欧美| 狂野欧美性猛交blacked| 亚洲青青青在线视频| 精品久久久久久久久久久久久久久| 97久久精品人人做人人爽| 久久精品国产久精国产| 一区二区日韩电影| 日本一区二区三区电影| 欧美一级一级性生活免费录像| 成人久久18免费网站麻豆| 秋霞午夜鲁丝一区二区老狼| 亚洲乱码日产精品bd| 国产蜜臀av在线一区二区三区| 欧美日韩高清影院| 91一区二区在线| 国产精品亚洲а∨天堂免在线| 石原莉奈一区二区三区在线观看| 亚洲人成亚洲人成在线观看图片| 久久精品亚洲精品国产欧美| 欧美一区二区三区四区在线观看| 91美女视频网站| 不卡av在线网| av在线不卡电影| 风间由美一区二区三区在线观看 | 这里只有精品电影| 色婷婷一区二区三区四区| 粉嫩13p一区二区三区| 国产一区欧美日韩| 久久精品国产精品亚洲综合| 亚洲电影第三页| 亚洲成人自拍一区| 亚洲国产日韩一级| 亚洲综合自拍偷拍| 亚洲一区二区视频在线观看| 一区二区三区在线不卡| 一区二区国产视频| 香蕉影视欧美成人| 秋霞电影网一区二区| 秋霞成人午夜伦在线观看|