<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FL2440下觸摸屏校準(zhǔn)

          FL2440下觸摸屏校準(zhǔn)

          作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
          由于FL2440自帶的文件系統(tǒng)中busybox命令不支持TAB自動(dòng)補(bǔ)全,所以自己重新制作了文件系統(tǒng),然后燒寫,不過過后有點(diǎn)問題,觸摸屏不好

          使了。也沒有提示校準(zhǔn)。下面是解決方法

          本文引用地址:http://www.ex-cimer.com/article/201611/318859.htm

          一:WINCE之校屏

          WINCE的校屏參數(shù)是保存在注冊(cè)表中的。打開BSP包中的platform.reg,找到如下代碼:

          1. IFBSP_NOTOUCH!
          2. [HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]
          3. "MaxCalError"=dword:7
          4. "CalibrationData"="626,4641054,823192,813190,1081070,104"
          5. "Order"=dword:1
          6. ENDIFBSP_NOTOUCH!

          這里的CalibrationData即是校屏數(shù)據(jù)。由于WINCE開機(jī)后觸摸偏移太大,根本沒法點(diǎn)擊進(jìn)入校屏程序,有兩種方法:

          方法一:如果您手上有USB鼠標(biāo),將USB鼠標(biāo)插入U(xiǎn)SB的HOST接口,這時(shí)就可以通過鼠標(biāo)進(jìn)入校屏界面了。點(diǎn)開始,控制
          面板,筆針。

          方法二:這種方法不適合初學(xué)者,適合程序開發(fā)人員。首先同步開發(fā)板,將校屏應(yīng)用程序拷到開發(fā)板某目錄,再通過
          VS2005,任意打開一個(gè)應(yīng)用程序,將程序入口指向拷備的應(yīng)用程序,再F5,即運(yùn)行了該校屏程序。詳細(xì)步驟這里就不
          一一列舉了。

          校完屏后,如果校正的注冊(cè)表丟失,再重?zé)到y(tǒng)后,又會(huì)出現(xiàn)偏移。批量生產(chǎn)時(shí)就更不用說了。那怎么辦呢?其實(shí),當(dāng)
          您校完屏后,保存的校正數(shù)據(jù)已經(jīng)保存起來了。通過remote register editer查看注冊(cè)表信息,進(jìn)入如下路徑:
          HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH
          記錄CalibrationData的數(shù)據(jù),將platform.reg里的錯(cuò)誤數(shù)據(jù)用該數(shù)據(jù)替換。注意,files目錄下的和release目錄下的
          platform.reg都要修改!更改后再make一下,生成的NK,就是正確的數(shù)據(jù)了。

          二:LINUX之校屏

          由于飛凌開發(fā)板默認(rèn)沒有校屏,但是引導(dǎo)linux系統(tǒng)后,已經(jīng)進(jìn)入shell界面了[QT界面],沒有校準(zhǔn)的過程。怎么辦?通過
          DNW或者超級(jí)終端,進(jìn)入linux的consloe,查看/etc下有個(gè)文件pointercal,刪除該文件,reboot,系統(tǒng)將重啟,自動(dòng)進(jìn)入校準(zhǔn)界面。這時(shí)就可以校屏了。
          如果這時(shí)校屏仍然無法成功,即反復(fù)的點(diǎn)擊那個(gè)十字架不停,這是觸摸屏驅(qū)動(dòng)的問題,“修改以下代碼:
          /drivers/char/s3c2410ts.c中將static inline void s3c2410_get_XY(void)函數(shù)中的x,y值調(diào)換順序。” 具體地:

          1. staticinlinevoids3c2410_get_XY(void)
          2. {
          3. if(adc_state==0){
          4. adc_state=1;
          5. disable_ts_adc();
          6. x=__raw_readl(S3C2410_ADCDAT1)&0x3ff;//x:f04y:f0ebypht.
          7. mode_y_axis();
          8. start_adc_y();
          9. }elseif(adc_state==1){
          10. adc_state=0;
          11. disable_ts_adc();
          12. y=__raw_readl(S3C2410_ADCDAT0)&0x3ff;//y:f04x:f0ebypht.
          13. DPRINTK("PENDOWN:x:%08d,y:%08d/n",x,y);
          14. wait_up_int();
          15. tsdev.penStatus=PEN_DOWN;
          16. tsEvent();
          17. }
          18. }

          改為

          1. staticinlinevoids3c2410_get_XY(void)
          2. {
          3. if(adc_state==0){
          4. adc_state=1;
          5. disable_ts_adc();
          6. y=__raw_readl(S3C2410_ADCDAT1)&0x3ff;//x:f04y:f0ebypht.
          7. mode_y_axis();
          8. start_adc_y();
          9. }elseif(adc_state==1){
          10. adc_state=0;
          11. disable_ts_adc();
          12. x=__raw_readl(S3C2410_ADCDAT0)&0x3ff;//y:f04x:f0ebypht.
          13. DPRINTK("PENDOWN:x:%08d,y:%08d/n",x,y);
          14. wait_up_int();
          15. tsdev.penStatus=PEN_DOWN;
          16. tsEvent();
          17. }
          18. }

          然后重新編譯內(nèi)核,燒寫內(nèi)核



          關(guān)鍵詞: FL2440觸摸屏校

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();