在觸摸屏維修工作中,我們發(fā)現(xiàn)電阻式觸摸屏在嵌入式系統(tǒng)中用的較多,電阻式觸摸屏可分為四線、五線、七線等幾種,接下來,我們主要以wince觸摸屏為例,分析如何校準(zhǔn)觸摸屏基準(zhǔn)參數(shù)問題:
在我們順利完成驅(qū)動(dòng)程序安裝以及各種功能就都已經(jīng)準(zhǔn)備就緒了,現(xiàn)在就可以實(shí)際操作觸摸屏幕了。但一般來說,電阻式觸摸屏需要校準(zhǔn),也就是說在驅(qū)動(dòng)啟動(dòng)過程中mdd層要調(diào)用相應(yīng)的ddsi函數(shù)來讀取注冊(cè)表中的校正數(shù)據(jù)校正觸摸屏。理想情況下,校準(zhǔn)程序只要在嵌入式設(shè)備初次加電測(cè)試過程中運(yùn)行一次就可以了,參考值會(huì)被存儲(chǔ)在非易失性存儲(chǔ)器中,以免讓用戶在以后的加電啟動(dòng)期間再做校準(zhǔn)。
不過,高質(zhì)量的觸摸屏驅(qū)動(dòng)程序是應(yīng)該要向用戶提供一種進(jìn)入校準(zhǔn)例程的途徑,從而在由于溫度漂移或其它因素造成校準(zhǔn)不準(zhǔn)確時(shí)進(jìn)行重新校準(zhǔn)。 在理想情況下,校正觸摸屏基準(zhǔn)只需兩組原始數(shù)據(jù),即在屏幕對(duì)角讀取的最小和最大值。但在實(shí)際應(yīng)用中,因?yàn)樵S多電阻式觸摸屏存在明顯的非線性,如果只在最小和最大值之間簡單的插入位置數(shù)值會(huì)導(dǎo)致驅(qū)動(dòng)程序非常的不精確。因此,在wince中需要獲取多個(gè)校準(zhǔn)點(diǎn),常用的校準(zhǔn)點(diǎn)數(shù)量為5個(gè)。
方法如下:
1、首先驅(qū)動(dòng)程序在函數(shù)ddsitouchpanelgetdevicecaps 中設(shè)置校準(zhǔn)點(diǎn)的個(gè)數(shù);
2、是系統(tǒng)在 touchdrivercalibrationpointget中獲取每個(gè)校準(zhǔn)點(diǎn)的屏幕坐標(biāo);
3、是在屏幕界面的校準(zhǔn)點(diǎn)坐標(biāo)處顯示一個(gè)位置符號(hào),用戶需要精確地在位置符號(hào)按下觸摸屏;
4、驅(qū)動(dòng)程序通過touchpanelreadcalibrationpoint函數(shù)讀取相應(yīng)的觸摸屏坐標(biāo)值;
5、然后再開始下一個(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)完成之后,觸摸屏便可以開始正常的操作了。