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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 國產(chǎn)嵌入式操作系統(tǒng)下觸摸屏的實現(xiàn)

          國產(chǎn)嵌入式操作系統(tǒng)下觸摸屏的實現(xiàn)

          作者:劉傳剛 時間:2013-05-29 來源:電子產(chǎn)品世界 收藏

            3、 下校準及測試觸摸屏的實現(xiàn)

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

            tslib是一個觸摸屏支持庫,為不同的觸摸屏提供了一個統(tǒng)一的接口,還提供諸如濾波、去抖、校準之類的功能。tslib 從觸摸屏驅(qū)動處獲得原始的設(shè)備坐標數(shù)據(jù),通過一系列的去噪、去抖、坐標變換等操作,來去除噪聲并將原始的設(shè)備坐標轉(zhuǎn)換為相應(yīng)的屏幕坐標。本文將tslib移植到國產(chǎn)操作系統(tǒng)+1A處理器(mips)平臺,實現(xiàn)了下觸摸屏的校準、測試等功能。ReWorks系統(tǒng)下tslib層次結(jié)構(gòu)如圖3所示?! ?/p>

           

            tslib 從觸摸屏驅(qū)動采樣到設(shè)備坐標進行處理再提供給應(yīng)用端的過程如下:raw device --> variance --> dejitter --> linear --> application。tslib對驅(qū)動采樣到的數(shù)據(jù)進行處理的過程如下:讀取屏上5個點的坐標(Top Left,Top Right,Bottom Left,Bottom Right,Center),再進行一系列的變換,取樣的5個點,實際上是包含3個不同的X坐標值,3個不同的Y坐標值,和scaling 值一共7個值,一起保存到pointercal文件中。

            將tslib移植到ReWorks系統(tǒng)后,運行ts_calibrate校準觸摸屏,用觸摸筆點擊觸摸屏四個角及中央五個點,tslib進行坐標換算,觸摸屏校準界面如圖4所示?! ?/p>

           

            完成五點校準后,會自動生成pointercal校準文件保存在手持式計算機Flash根目錄/ffx0下。本文中手持式計算機液晶屏的分辨率為480x640,校準時ReWorks終端輸出信息如下。

            ------calibrate starting-------

            xres = 480, yres = 640

            ## Fri Mar 22 09:29:24 CST 2013 ##

            Took 5 samples...

            Top left : X = 3428 Y = 516

            Took 4 samples...

            Top right : X = 616 Y = 528

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: 浪潮 龍芯 嵌入式 ReWorks

          評論


          相關(guān)推薦

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