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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式操作系統(tǒng)Nucleus下觸摸屏驅(qū)動(dòng)的開發(fā)

          嵌入式操作系統(tǒng)Nucleus下觸摸屏驅(qū)動(dòng)的開發(fā)

          作者: 時(shí)間:2009-11-05 來源:網(wǎng)絡(luò) 收藏

          是一款優(yōu)秀的實(shí)時(shí)(RTOS),具有搶占式和時(shí)間片輪轉(zhuǎn)任務(wù)調(diào)度方式,主要用在時(shí)間苛刻的應(yīng)用當(dāng)中。大約95%的用ANSI C 寫成,作為一個(gè)庫加載到應(yīng)用代碼當(dāng)中。目前手機(jī)行業(yè)有很多使用。

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

          1. 控制電路的硬件結(jié)構(gòu)

          控制電路主要有一下四部分組成:進(jìn)行數(shù)據(jù)處理、控制功能的MCU,一個(gè)四線電阻式和控制芯片ADS7846, 以及顯示觸摸點(diǎn)坐標(biāo)的顯示部分。

          在這里主要對觸摸屏的硬件電路和設(shè)計(jì)做一個(gè)較詳細(xì)的介紹

          ADS7846是美國TI公司推出的一款四線制電阻式觸摸屏控制器,通過機(jī)械式觸摸,可以迅速得到觸摸點(diǎn)位置信號(hào)。它是一種典型的帶有連續(xù)逼近型寄存器的A/D,內(nèi)部自帶2.5V參考電壓,一個(gè)和微處理器相連的SPI接口,同時(shí)具有測量溫度、觸摸壓力和電池電壓的功能,有可編程 的8位或12位的分辨率。在2.7V電壓和125kHz的轉(zhuǎn)換速率下, 功耗僅為750uW,在 power down 模式下僅為0.5uW。由于這些優(yōu)良的性能,在移動(dòng)設(shè)備中有大量的應(yīng)用。下表為控制器的主要引腳

          引腳名
          功能描述
          +Vcc
          邏輯正電源
          X+,Y+
          接觸摸屏正電極
          X-,Y-
          接觸摸屏負(fù)電極
          GND
          接地
          Vbat
          電源監(jiān)控輸入端
          PENIRQ
          中斷輸出端
          Vref
          參考電壓輸入輸出端
          DOUT
          串行數(shù)據(jù)輸出端
          DCLK
          外部時(shí)鐘輸入端
          DIN
          串行數(shù)據(jù)輸入端
          BUSY
          忙信號(hào)輸出端(低電平有效)
          CS
          片選

          工作原理:圖2是觸摸屏控制器和MCU的連接電路圖。當(dāng)ADS7846檢測到觸摸屏被按下時(shí),它就會(huì)產(chǎn)生一個(gè)中斷信號(hào)(PENIRQ為低電平)給MCU,MCU選中ADS7846控制器(CS為低),然后通過串行口DIN向ADS7846發(fā)送8位控制字,此后DOUT在DCLK的下降沿得到12位的輸出。圖3為ADS7846在每次轉(zhuǎn)換為24個(gè)時(shí)鐘周期下的時(shí)序圖。

          圖2

          2.Nucleus下ADS7846的設(shè)計(jì)

          設(shè)計(jì)的目的是將觸摸坐標(biāo)即時(shí)的轉(zhuǎn)換為顯示坐標(biāo),直接在LCD屏上顯示出來,然后經(jīng)過輸入識(shí)別軟件的處理(例如漢王的識(shí)別軟件),識(shí)別出輸入的字符,漢字等。

          2.1 當(dāng)觸摸屏按下時(shí),會(huì)產(chǎn)生一個(gè)中斷,應(yīng)當(dāng)為ADS7846配置一個(gè)中斷。在Nucleus下,中斷分兩種,Low level 中斷(Lisr)和High level 中斷(Hisr),一般的中斷服務(wù)程序在Hisr當(dāng)中處理。一個(gè)較為復(fù)雜的,多任務(wù)系統(tǒng)當(dāng)中,中斷服務(wù)程序(優(yōu)先級(jí)比普通任務(wù)的優(yōu)先級(jí)高)不能占用太多的時(shí)間,否則可能會(huì)導(dǎo)致其他任務(wù)不能及時(shí)得到響應(yīng)。例如在觸摸屏中斷服務(wù)程序的處理,在較壞的情況下,觸摸屏可能一直被按下去,其Hisr就會(huì)占用很多的資源,導(dǎo)致別的任務(wù)(例如一個(gè)手機(jī)應(yīng)用當(dāng)中,可能導(dǎo)致接受電話的任務(wù)不能處理,而這是不能讓人接受的,不能想象當(dāng)你寫短信時(shí)不能接受電話的情況,)所以當(dāng)中斷服務(wù)程序需要占用CPU較多的處理時(shí)間時(shí),一般要在另外激活一個(gè)任務(wù),由任務(wù)調(diào)度機(jī)制來處理和系統(tǒng)中其他任務(wù)的關(guān)系,它的流程圖如圖四所示,實(shí)踐證明,這種處理方法是較好的處理方法。

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

          上一頁 1 2 下一頁

          評論


          相關(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); })();