毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


曙海教育集團(tuán)論壇Win CE 專(zhuān)區(qū)WinCE系統(tǒng)定制與驅(qū)動(dòng)開(kāi)發(fā) → WinCE中觸摸屏驅(qū)動(dòng)開(kāi)發(fā)詳解


  共有10690人關(guān)注過(guò)本帖樹(shù)形打印

主題:WinCE中觸摸屏驅(qū)動(dòng)開(kāi)發(fā)詳解

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
WinCE中觸摸屏驅(qū)動(dòng)開(kāi)發(fā)詳解  發(fā)帖心情 Post By:2010-11-26 10:59:31

1.觸摸屏驅(qū)動(dòng)程序的模型

1.1 分層觸摸屏驅(qū)動(dòng)層序結(jié)構(gòu)

本觸摸屏驅(qū)動(dòng)采用分層驅(qū)動(dòng)程序結(jié)構(gòu),其驅(qū)動(dòng)模型如下圖所示,這種結(jié)構(gòu)將驅(qū)動(dòng)程序代碼區(qū)分為上層模型設(shè)備驅(qū)動(dòng)層(MDD),下層是依賴平臺(tái)的驅(qū)動(dòng)層(PDD)。其中MDD層通常無(wú)需修改就可以直接使用,改部分提供面向GWES的DDI的接口,而MDD通過(guò)指定的DDSI函數(shù)接口調(diào)用PDD,這就是我們通常驅(qū)動(dòng)要實(shí)現(xiàn)的部分。PDD部分和MDD部分除了DDSI函數(shù)集接口外,還要實(shí)現(xiàn)一些指定的變量的定義或變量初始化動(dòng)作(比如,gIntrTouch和gIntrTouchChanged在PDD層定義,但主要在MDD層使用。),也就是說(shuō)MDD層和PDD層之間并不一定是以嚴(yán)格的分層模型來(lái)實(shí)現(xiàn)的,有時(shí)候也要通過(guò)共享變量的方式來(lái)完成交互。

1.2 DDI函數(shù)集(MDD層)

TouchPanelPowerHandler(BOOL boff)

Touch Screen的電源管理函數(shù),boff:TRUE表示關(guān)閉電源,F(xiàn)ALSE表示打開(kāi)電源,其只是調(diào)用DdsiTouchPanelPowerHandler()函數(shù),該函數(shù)在進(jìn)入或退出poweroff狀態(tài)時(shí)產(chǎn)生。

TouchPanelCalibrationAPoint()

該函數(shù)用于校準(zhǔn)輸入的觸摸屏坐標(biāo),把觸摸屏坐標(biāo)轉(zhuǎn)換為顯示坐標(biāo),利用了公式Sx=A1*Tx+B1*Ty+C和Sy=A2*Tx+B2*Ty+C2。

TouchPanelReadCalibrationPoint()

在執(zhí)行觸摸屏校準(zhǔn)程序時(shí),用這個(gè)函數(shù)獲得在當(dāng)前校準(zhǔn)點(diǎn)的十字形上點(diǎn)擊的觸摸屏坐標(biāo)。

TouchPanelReadCalibrationAbord()

該函數(shù)在校準(zhǔn)取消時(shí)被調(diào)用(在觸摸屏校準(zhǔn)程序運(yùn)行過(guò)程中取消校準(zhǔn)),僅僅設(shè)置狀態(tài)位和事件后返回。

TouchPanelDisable()

禁用觸摸屏(touch panel)設(shè)備,該函數(shù)關(guān)閉ISR,停止中斷和注銷(xiāo)事件及其他同步手段,此函數(shù)調(diào)用了DdsiTouchPanelDisable()函數(shù)。

TouchPanelEnable(PFN_TOUCH_PANEL_CALLBACK    pfnCallback)

PfnCallback是指向處理touch panel事件的回調(diào)函數(shù),該函數(shù)的執(zhí)行動(dòng)作:

⑴創(chuàng)建事件hTouchPanelEvent和hCalibrationSampleAvailable,其中當(dāng)觸筆按下或抬起,或者定時(shí)器中斷時(shí)會(huì)觸發(fā)hTouchPanelEvent事件,而在校準(zhǔn)狀態(tài)下當(dāng)有校準(zhǔn)數(shù)據(jù)輸入時(shí)會(huì)觸發(fā)hCalibrationSampleAvailable事件。

⑵初始化臨界區(qū),初始化所需的觸摸屏中斷gIntrTouch和gIntrTouchChanged,并且把它們關(guān)聯(lián)到事件hTouchPanelEvent中。

⑶創(chuàng)建IST TouchPanelpISR,并設(shè)定其優(yōu)先級(jí)。

TouchPanelSetCalibration()

該函數(shù)通過(guò)運(yùn)行觸摸屏校準(zhǔn)程序時(shí)的校準(zhǔn)動(dòng)作獲得顯示坐標(biāo)(Sx,Sy)和觸筆在十字形上按下的觸摸坐標(biāo)(Tx,Ty)用于計(jì)算校準(zhǔn)參數(shù)A1,B1,C1和A2,B2,C2。

TouchPanelGetDeviceCaps()

用于查詢觸摸屏設(shè)備支持的具體功能,通過(guò)DDSI函數(shù)查詢相應(yīng)的信息,當(dāng)查詢屏幕坐標(biāo)信息時(shí)保存屏幕信息,供后面程序計(jì)算校準(zhǔn)參數(shù)所用。

TouchPanelSetMode()

用于設(shè)置觸摸屏的工作模式(采用低采樣率還是高采樣率),當(dāng)設(shè)置IST優(yōu)先級(jí)時(shí)直接通過(guò)內(nèi)核API來(lái)完成,而直接將其他設(shè)置交給DdsiTouchPanelSetMode()函數(shù)來(lái)處理。

1.3WinCE  DDSI函數(shù)集(PDD層)

DdsiTouchPanelGetDeviceCaps(INT iIndex, LPVOID lpOutput)

查詢touch panel設(shè)備的相關(guān)信息。

IIndex:查詢的索引值,其取值如下:

TPDC_SAMPLE_RATE_ID:查詢采樣率信息。

TPDC_CALIBRATION_POINT_COUNT_ID:查詢用于校驗(yàn)的點(diǎn)的個(gè)數(shù)。

TPDC_CALIBRATION_POINT_ID:查詢需要校驗(yàn)的點(diǎn)的坐標(biāo)。

LpOutput:根據(jù)iIndex值分別指向相關(guān)的信息。

DdsiTouchPanelSetMode()

設(shè)置Touch Panel工作模式。

iIndex:模式索引

TPSM_SAMPLERATE_HIGH_ID:高采樣率

TPSM_SAMPLERATE_LOW_ID:低采樣率

lpInput:指向包含相關(guān)信息的內(nèi)存

DdsiTouchPanelEnable()

該函數(shù)所執(zhí)行的動(dòng)作:

⑴為需要用到的I/O,ADC,PWM和INT寄存器分配內(nèi)存空間。

⑵配置觸摸屏控制器、中斷控制器和PWM的寄存器。

⑶申請(qǐng)觸摸屏中斷gIntrTouch和定時(shí)器中斷gIntrTouchChanged,并且對(duì)它們進(jìn)行初始化,為物理中斷號(hào)分配相應(yīng)的系統(tǒng)邏輯中斷號(hào)。。

DdsiTouchPanelDisable()

屏蔽觸摸屏中斷和釋放為I/O,ADC,PWM和INT寄存器分配的WinCE內(nèi)存空間。

DdsiTouchPanelAttach()

只是簡(jiǎn)單地返回1。

DdsiTouchPanelDetach()

只是簡(jiǎn)單地返回0。

DdsiTouchPanelGetPoint (TOUCH_PANEL_SAMPLE_FLAGS * pTipStateFlags,

                       INT * pUncalX,

                       INT * pUncalY )

獲得Touch Panel上被按下的點(diǎn)的狀態(tài)和坐標(biāo)。

◆pTipState:當(dāng)前觸摸點(diǎn)的狀態(tài),比如無(wú)效點(diǎn),有效點(diǎn),被按下的點(diǎn)等。

◆pUnCalX:觸摸點(diǎn)的X坐標(biāo)

◆pUnCalY:觸摸點(diǎn)的Y坐標(biāo)

◆DdsiTouchPanelPowerHandler()

設(shè)置touch panel的電源狀態(tài),boff:TRUE表示關(guān)閉電源,F(xiàn)ALSE表示打開(kāi)電源,

2.觸摸屏驅(qū)動(dòng)程序的實(shí)現(xiàn)

Windows CE5.0觸摸屏驅(qū)動(dòng)程序采用中斷方式對(duì)觸摸筆的按下?tīng)顟B(tài)進(jìn)行檢測(cè),如果檢測(cè)到觸摸筆按下將產(chǎn)生中斷并觸發(fā)一個(gè)事件通知一個(gè)工作線程開(kāi)始采集數(shù)據(jù)。同時(shí),驅(qū)動(dòng)將打開(kāi)一個(gè)硬件定時(shí)器,只要檢測(cè)到觸摸筆仍然在按下?tīng)顟B(tài)將定時(shí)觸發(fā)同一個(gè)事件通知工作線程采集數(shù)據(jù),直到觸摸筆抬起后關(guān)閉該定時(shí)器,并重新檢測(cè)按下?tīng)顟B(tài)。驅(qū)動(dòng)中采用了觸摸屏中斷以及定時(shí)器中斷2個(gè)中斷源,不僅可以監(jiān)控觸摸筆按下和抬起狀態(tài),而且可以檢測(cè)觸摸筆按下時(shí)的拖動(dòng)軌跡。觸摸屏驅(qū)動(dòng)流程下圖所示

3.四線電阻式觸摸屏的工作原理

四線電阻式觸摸屏的結(jié)構(gòu)如圖1,在玻璃或丙烯酸基板上覆蓋有兩層透平,均勻?qū)щ姷腎TO層,分別做為X電極和Y電極,它們之間由均勻排列的透明格 點(diǎn)分開(kāi)絕緣。其中下層的ITO與玻璃基板附著,上層的ITO附著在PET薄膜上。X電極和Y電極的正負(fù)端由“導(dǎo)電條”(圖中黑色條形部分)分別從兩端引 出,且X電極和Y電極導(dǎo)電條的位置相互垂直。引出端X-,X+,Y-,Y+一共四條線,這就是四線電阻式觸摸屏名稱的由來(lái)。當(dāng)有物體接觸觸摸屏表面并施以 一定的壓力時(shí),上層的ITO導(dǎo)電層發(fā)生形變與下層ITO發(fā)生接觸,該結(jié)構(gòu)可以等效為相應(yīng)的電路,

計(jì)算觸點(diǎn)的X,Y坐標(biāo)分為如下兩步:

1. 計(jì)算Y坐標(biāo),在Y+電極施加驅(qū)動(dòng)電壓Vdrive, Y-電極接地,X+做為引出端測(cè)量得到接觸點(diǎn)的電壓,由于ITO層均勻?qū)щ姡|點(diǎn)電壓與Vdrive電壓之比等于觸點(diǎn)Y坐標(biāo)與屏高度之比。

2. 計(jì)算X坐標(biāo),在X+電極施加驅(qū)動(dòng)電壓Vdrive, X-電極接地,Y+做為引出端測(cè)量得到接觸點(diǎn)的電壓,由于ITO層均勻?qū)щ姡|點(diǎn)電壓與Vdrive電壓之比等于觸點(diǎn)X坐標(biāo)與屏寬度之比。

測(cè)得的電壓由ADC轉(zhuǎn)化為觸摸點(diǎn)的原始坐標(biāo)(數(shù)值范圍由所選用的A/D轉(zhuǎn)換器位數(shù)決定)后,還要根據(jù)具體使用的液晶屏實(shí)際像素進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后通過(guò)校準(zhǔn)直接轉(zhuǎn)化為屏幕上的坐標(biāo),供GWES使用。

4.觸摸屏的接口部分

◆X+:連接觸摸屏控制器的TSXP,。

◆X-:連接觸摸屏控制器的TSXM。

◆Y+:連接觸摸屏控制器的TSYP。

◆Y-:連接觸摸屏控制器的TSYM。

在觸摸屏接口使用時(shí),TSXM或TSYM應(yīng)該接觸摸屏接口的。

5.配置控制器硬件

5.1 ADCCON-----ADC控制寄存器

ECFLG:ADCCON[15],AD轉(zhuǎn)換結(jié)束標(biāo)志,只讀,0表示AD轉(zhuǎn)換在過(guò)程中;1表示AD轉(zhuǎn)換結(jié)束。

PRSCEN:ADCCON[14],AD轉(zhuǎn)換器預(yù)分頻器使能,在此使能,故為1。

PRSCVL:ADCCON[13:6],AD轉(zhuǎn)換器預(yù)分頻器值,在此為49。

SEL_MUX:ADCCON[5:3],模擬信號(hào)輸入通道選擇,在此選擇XP,故為7。

STDBM:ADCCON[2],備用操作模式選擇,在此選擇普通操作模式,故為0。

READ_START:ADCCON[1],通過(guò)讀取來(lái)啟動(dòng)A/D轉(zhuǎn)換,在此選擇通過(guò)讀取操作無(wú)效來(lái)啟動(dòng)A/D轉(zhuǎn)換,故為0。

ENABLE_START,ADCCON[0],通過(guò)使能該位來(lái)啟動(dòng)A/D轉(zhuǎn)換,在此選擇無(wú)操作。此位在A/D轉(zhuǎn)換開(kāi)始后被使能。

5.2 ADCTSC-----ADC觸摸屏控制寄存器

UD_SEN:ADCTSC[8],在此選擇檢測(cè)到觸筆按下就產(chǎn)生中斷信號(hào),故為0。

YM_SEN:ADCTSC[7],YM開(kāi)關(guān)使能,在此選擇YM輸出驅(qū)動(dòng)有效(GND),故為1。

YP_SEN:ADCTSC[6],YP開(kāi)關(guān)使能,在此選擇YP輸出驅(qū)動(dòng)無(wú)效(AIN5),故為1。

XM_SEN:ADCTSC[5],XM開(kāi)關(guān)使能,在此選擇XM輸出驅(qū)動(dòng)無(wú)效(Hi-Z),故為0。

XP_SEN:ADCTSC[4],XP開(kāi)關(guān)使能,在此選擇XP輸出驅(qū)動(dòng)無(wú)效(AIN7),故為1。

PULL_UP:ADCTSC[3],上拉開(kāi)關(guān)使能,在此選擇XP上拉有效,故為0。

AUTO_PST:ADCTSC[2],初始化時(shí),在此選擇自動(dòng)連續(xù)測(cè)量X坐標(biāo)和Y坐標(biāo),故為0,但如果開(kāi)始轉(zhuǎn)換時(shí),應(yīng)該置1。

XY_PST:ADCTSC[1:0],手動(dòng)測(cè)量X坐標(biāo)和Y坐標(biāo),在此選擇等待中斷模式,故為3。

注:當(dāng)?shù)却|摸屏中斷時(shí),XP_SEN位(XP輸出無(wú)效)應(yīng)該置為1,且PULL_UP(XP上拉使能)位應(yīng)該置為0。

5.3 ADCDLY-----ADC開(kāi)始延時(shí)寄存器

DELAY:ADCDLY[154:0],因?yàn)檫x擇等待中斷模式,此值表示,當(dāng)觸筆按下出現(xiàn)在睡眠模式時(shí),產(chǎn)生一個(gè)用于推出睡眠模式的信號(hào),有幾個(gè)毫秒的時(shí)間間隔。在此此值為40000?????????(40s,太長(zhǎng)了吧?)

SUBINTMSK-----WinCE中子中斷屏蔽寄存器

該寄存器有11位,每位和一位中斷源相關(guān)。觸摸屏中斷請(qǐng)求有效,故第十位應(yīng)設(shè)為0。

v_pINTregs->INTSUBMSK &= ~(1<<IRQ_SUB_TC);

5.4 TCFG1-----5路多路器及DMA模式選擇寄存器

MUX3:TCFG1[15:12],為PWM計(jì)時(shí)器3選擇多路輸入,并初始化其值,每個(gè)定時(shí)器都有一個(gè)時(shí)鐘分頻器,其可以生成5鐘不同的分頻信號(hào)(1/2,1/4,1/8,1/16和TCLK),在此選擇1/16分頻。

v_pPWMregs->TCFG1 &= ~(0xf << 12); /* Timer3's Divider Value   */

v_pPWMregs->TCFG1 |= (3   << 12);     /* 1/16   

TCNTB3-----PWM定時(shí)器3計(jì)數(shù)緩存寄存器,選擇定時(shí)器3為時(shí)鐘,比如定義10ms中斷一次,提供觸摸屏采樣時(shí)間基準(zhǔn),即10ms觸摸屏采樣一次。在此為17×1000/100=170,在此PCLK=400MHz/6,可以得出timer3的時(shí)鐘頻率=PCLK/(244+1).16,可以算數(shù)觸摸屏就是10ms產(chǎn)生一次定時(shí)中斷,進(jìn)行一次采樣


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

WinCE中觸摸屏驅(qū)動(dòng)開(kāi)發(fā)詳解








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
激情成人综合网| 91国在线观看| 亚洲va韩国va欧美va精品| 亚洲r级在线视频| 秋霞成人午夜伦在线观看| 精品中文字幕一区二区小辣椒| 国产精选一区二区三区| 成人av资源在线| 欧美日韩第一区日日骚| 国产亚洲精品免费| 亚洲精品成a人| 国产最新精品精品你懂的| 岛国一区二区在线观看| 日韩av一区二区三区四区| 国产精品家庭影院| 一片黄亚洲嫩模| 精油按摩中文字幕久久| 97精品国产露脸对白| 欧美一区二区视频网站| 国产精品毛片无遮挡高清| 亚洲午夜久久久久中文字幕久| 久久99国内精品| 欧美午夜寂寞影院| 国产拍欧美日韩视频二区| 亚洲国产成人高清精品| 粉嫩aⅴ一区二区三区四区五区| 欧美日韩国产综合一区二区 | 一区二区三区在线高清| 久久99国产精品久久99果冻传媒| 99在线视频精品| 精品日韩一区二区三区| 一区二区在线观看视频| 高潮精品一区videoshd| 欧美一区日本一区韩国一区| 亚洲黄色av一区| 成人h动漫精品一区二| 精品日韩一区二区三区免费视频| 亚洲国产人成综合网站| 成人动漫精品一区二区| 日韩免费观看高清完整版在线观看| √…a在线天堂一区| 国产在线不卡一区| 欧美一卡2卡三卡4卡5免费| 亚洲一区二区三区四区在线 | 91精品国产综合久久福利| 一区二区三区在线免费观看| 成人午夜私人影院| 久久精品免视看| 国产精品一区二区无线| 日韩一级视频免费观看在线| 亚洲成人久久影院| 欧美日韩一区二区三区视频| 曰韩精品一区二区| 在线观看国产精品网站| 一区二区三区在线观看网站| 91麻豆免费观看| 亚洲特级片在线| 成人精品一区二区三区四区| 国产亚洲人成网站| 国产mv日韩mv欧美| 国产精品传媒入口麻豆| 97久久超碰精品国产| 国产精品不卡视频| av在线一区二区| 亚洲三级理论片| 在线视频观看一区| 亚洲18色成人| 日韩美女一区二区三区四区| 精品一区二区三区在线观看| 久久蜜桃一区二区| 成人一区在线看| 最新成人av在线| 色噜噜狠狠成人网p站| 亚洲线精品一区二区三区| 在线综合视频播放| 毛片av中文字幕一区二区| 亚洲精品在线网站| 成人午夜私人影院| 亚洲一二三级电影| 欧美一区二区在线观看| 国产一区二区在线观看免费| 国产精品天美传媒沈樵| 色88888久久久久久影院按摩 | 国产91丝袜在线观看| 国产精品久久久久久久久免费相片 | 亚洲视频香蕉人妖| 欧美视频中文一区二区三区在线观看| 亚洲一区二区三区四区不卡| 日韩欧美国产三级| av在线不卡免费看| 水蜜桃久久夜色精品一区的特点| 日韩精品一区二区三区蜜臀 | 欧美一区二区三区公司| 国产成人午夜精品影院观看视频| 中文字幕在线不卡国产视频| 欧美理论片在线| 国产高清不卡一区| 亚洲综合色噜噜狠狠| 日韩欧美你懂的| caoporen国产精品视频| 亚洲国产乱码最新视频| 国产欧美精品一区aⅴ影院| 色噜噜狠狠成人网p站| 国产在线播放一区三区四| 夜夜嗨av一区二区三区四季av | 99精品视频在线观看| 美女精品自拍一二三四| 亚洲三级理论片| 久久综合五月天婷婷伊人| 91久久精品一区二区二区| 国产一区在线精品| 亚洲一区二区三区四区在线| 久久精子c满五个校花| 欧美日韩激情一区二区| 成人福利视频在线看| 久久av资源网| 亚洲国产欧美在线人成| 国产精品第五页| 国产亲近乱来精品视频| 日韩女同互慰一区二区| 欧美日韩三级在线| 一本一道综合狠狠老| 国产精品一区专区| 久久成人免费电影| 日本中文在线一区| 亚洲最新在线观看| 亚洲三级免费观看| 国产三级三级三级精品8ⅰ区| 欧美一区二区三区爱爱| 欧美性三三影院| 9色porny自拍视频一区二区| 国产高清成人在线| 国产一区二区三区av电影 | 欧美精品1区2区3区| 91官网在线免费观看| eeuss鲁片一区二区三区在线观看| 久久99蜜桃精品| 全国精品久久少妇| 丝袜美腿高跟呻吟高潮一区| 亚洲一区二区视频在线观看| 亚洲男女一区二区三区| 国产精品成人在线观看| 国产精品久久影院| 中文字幕欧美三区| 国产精品激情偷乱一区二区∴| 国产亚洲人成网站| 国产精品人妖ts系列视频| 国产精品国产三级国产| 国产精品国产三级国产aⅴ原创| 国产精品亲子乱子伦xxxx裸| 国产精品视频一二三| 一色屋精品亚洲香蕉网站| 综合久久久久综合| 亚洲一区影音先锋| 日日欢夜夜爽一区| 蜜臀av一级做a爰片久久| 久热成人在线视频| 国产成人综合在线| 国产a精品视频| 91日韩精品一区| 欧洲亚洲国产日韩| 欧美色爱综合网| 日韩欧美www| 日本一区二区三区久久久久久久久不| 国产精品美女一区二区在线观看| 成人免费在线视频| 亚洲成人三级小说| 毛片av一区二区| 国产成人亚洲综合色影视| 不卡一区二区三区四区| 欧美日韩日日骚| 精品国产91洋老外米糕| 国产精品色婷婷| 午夜精品久久久久影视| 国产一区日韩二区欧美三区| av动漫一区二区| 欧美丰满一区二区免费视频| 日韩欧美色综合| 亚洲日本丝袜连裤袜办公室| 亚洲成人av电影在线| 国产一区二区三区综合| bt欧美亚洲午夜电影天堂| 欧美日韩国产精品成人| 26uuu另类欧美亚洲曰本| 亚洲女性喷水在线观看一区| 偷拍亚洲欧洲综合| 国产69精品久久久久毛片| 欧美午夜精品一区二区三区| 精品人在线二区三区| 亚洲精品欧美专区| 国产一区二区三区高清播放| 欧美亚洲国产一区二区三区va | 欧美影视一区在线| 久久久久久电影| 亚洲综合小说图片| 国产成人综合在线| 91精品在线一区二区| 亚洲特黄一级片| 国产精品主播直播| 51午夜精品国产|