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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 在ARM linux上使用usb接口的觸屏

          在ARM linux上使用usb接口的觸屏

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          應(yīng)公司需要,在現(xiàn)有設(shè)備上面要使用觸摸屏,顯示器的尺寸是15寸,于是自己從淘寶上面買了個15寸4線電阻屏回來,帶Windows下的驅(qū)動,售后告訴我不支持Linux。在pc上面使用很不錯。接下來的任務(wù)是用到ARM開發(fā)板上面。

          當(dāng)把4根線,直接連接到開發(fā)板上面,為電阻屏預(yù)留的4個AD上面后,確實能夠使用,不過鼠標并不能實時跟隨觸屏,會有跳動,而且在左側(cè)區(qū)域按下后,鼠標跟隨過來,當(dāng)松開觸摸屏后,鼠標并沒有固定在按下的區(qū)域,而是回到右側(cè)區(qū)域,類似于回到原點一樣。觸摸屏的最還沒有反映,但是在Windows下觸屏是沒有問題的。查看了內(nèi)核的AD輸出結(jié)果,看不出來什么原因,不得已只好放棄。

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

          在Windows下的驅(qū)動文件中找到了一份使用手冊,里面介紹了USB的協(xié)議,比較詳細。然后查找看看內(nèi)核是不是能夠支持USB的觸摸屏,在網(wǎng)上找到資料說能夠支持,文件在Linux3.6.9/drivers/input/touchscreen/usbtouchscreen.c,找到后,跟協(xié)議進行比較,發(fā)現(xiàn)egalax的數(shù)據(jù)協(xié)議和手冊里面描述的基本一樣??吹搅耸锕?!對內(nèi)核進行配置Device Drivers--->Input Device Support--->Touchscreens--->USB TouchScreen Driver--->eGalax, eTurboTouch CT-410/510/700 device support。這樣就配置好了內(nèi)核,編譯移植到開發(fā)板,確實可以用,但是總有一個軸是反的(從左向右滑動時,鼠標從右向左運動,當(dāng)我把4根觸屏線,顛倒后,變成從上到下滑動時,鼠標從下向上運動),單獨顛倒x軸或者y軸的兩個線也解決不了。最后想到可以認為的通過軟件顛倒一下。協(xié)議使用的是11位數(shù)據(jù),即2048。所以在usbtouchscreen.c中更改egalax_read_data函數(shù),在dev->x = ((pkt[0] & 0x0F) << 7) | (pkt[4] & 0x7F);下增加一行dev->x = 2048 - dev->x;重新編譯移植。Ok!??!觸屏完全可以使用。下圖是使用的觸摸屏。

          經(jīng)過之后的驗證,這種方式不能算作是觸摸屏,而更應(yīng)該稱之為觸摸板,類似于筆記本的觸摸板一樣。如果要求沒那么嚴格倒是可以使用。



          關(guān)鍵詞: ARMlinuxusb接口觸

          評論


          技術(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); })();