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