色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式linux 電阻觸摸屏 (s3c2440)編程

          嵌入式linux 電阻觸摸屏 (s3c2440)編程

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



          更多5線8線式的觸摸屏介紹:http://www.elecfans.com/baike/waijiepeijian/chugan/20100324205083.html?1324351403
          更多資料:http://yunxiong1020.blog.163.com/blog/static/76344309201110283759386/

          1.2 在S3C2440中的觸摸屏接口
          SOC S3C2440的觸摸屏接口是與ADC接口結(jié)合在一起的,框圖如下:




          3,觸摸屏接口
          XP、XM、YP、YM為四線電阻觸摸屏接口,四條信號線分別代碼的含義為:
          nXPONPlus X-axis on-off control signalx軸正極開關(guān)控制信號
          XMONMinus X-axis on-off control signalx軸負(fù)極開關(guān)控制信號
          nYPONPlus Y-axis on-off control signaly軸正極開關(guān)控制信號
          YMONMinus Y-axis on-off control signaly軸負(fù)極開關(guān)控制信號
          觸摸屏接口的模式有以下幾種:
          (1)、普通ADC轉(zhuǎn)換模式
          (2)、獨(dú)立X/Y位置轉(zhuǎn)換模式
          (3)、自動X/Y位置轉(zhuǎn)換模式
          (4)、等待中斷模式
          我們主要接受觸摸屏接口的 等待中斷模式和自動X/Y位置轉(zhuǎn)換模式,自動轉(zhuǎn)換模式操作流程如下:觸摸屏控制器自動轉(zhuǎn)換X,Y的觸摸位置,當(dāng)轉(zhuǎn)換完畢后將數(shù)據(jù)分別存放在寄存器ADCDAT0和ADCDAT1.并產(chǎn)生INT_ADC中斷通知轉(zhuǎn)換完畢。
          更多詳細(xì)情況請查閱:數(shù)據(jù)手冊

          等待中斷模式:
          Waiting for Interrupt Modesetting value is rADCTSC=0xd3;//
          XP_PU, XP_Dis, XM_Dis, YP_Dis, YM_En.
          當(dāng)觸摸后,觸摸屏控制器產(chǎn)生INT_TC中斷,等待中斷模式下, Modesetting value (四個(gè)引腳設(shè)置應(yīng)該為):
          rADCTSC=0xd3;XP_PU, XP_Dis, XM_Dis, YP_Dis, YM_En.




          當(dāng)觸摸后,觸摸屏控制器產(chǎn)生INT_TC中斷,四個(gè)引腳設(shè)置應(yīng)該為:

          引腳XPXMYPYM
          狀態(tài)PULL UP/XP DisableDisable (初始值即是)DisableEnable
          設(shè)置1011

          當(dāng)中斷產(chǎn)生后,X/Y的位置數(shù)據(jù)可以選擇獨(dú)立X/Y位置轉(zhuǎn)換模式,和自動X/Y位置轉(zhuǎn)換模式進(jìn)行讀取,采用自動X/Y位置轉(zhuǎn)換模式進(jìn)行讀取需要對我們已經(jīng)設(shè)置的TSC寄存器進(jìn)行更改,在原有的基礎(chǔ)上,
          S 3C2410_ADCTSC_PULL_UP_DISABLE| S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0)。
          數(shù)據(jù)轉(zhuǎn)換完畢后,也會產(chǎn)生中斷,通知轉(zhuǎn)換結(jié)束。

          2. 輸入子系統(tǒng)模型分析
          2.1 整體框架:

          輸入子系統(tǒng)包括三個(gè)部分 設(shè)備驅(qū)動、輸入核心、事件處理器。
          第一部分 設(shè)備驅(qū)動
          是連接在各個(gè)總線上的輸入設(shè)備驅(qū)動,在我們的SOC上,這個(gè)總線可以是虛擬總線platformbus,他們的作用是將底層的硬件輸入轉(zhuǎn)化為統(tǒng)一事件型式,向輸入核心(Input core)匯報(bào).





          第二部分 輸入核心 的作用如下:
          (1) 調(diào)用input_register_device() used to 添加設(shè)備,調(diào)用input_unregister_device() 除去設(shè)備。(下面會結(jié)合觸摸屏驅(qū)動講述)
          (2) 在/PROC下產(chǎn)生相應(yīng)的設(shè)備信息,下面這個(gè)例子即是:
          /proc/bus/input/devices showing a USB mouse:

          I: Bus=0003 Vendor=046d Product=c002 Version=0120
          N: Name="Logitech USB-PS/2 Mouse M-BA47"
          P: Phys=usb-00:01.2-2.2/input0
          H: Handlers=mouse0 event2
          B: EV=7
          B: KEY=f0000 0 0 0 0 0 0 0 0
          B: REL=103

          (3) 通知事件處理器對事件進(jìn)行處理

          第三部分是 事件處理器:
          輸入子系統(tǒng)包括了您所需要的大多數(shù)處理器,如鼠標(biāo)、鍵盤、joystick,觸摸屏,也有一個(gè)通用的處理器被叫做event
          handler(對于內(nèi)核文件evdev.C).需要注意的是隨著內(nèi)核版本的發(fā)展,event handler將用來處理更多的不同硬件的輸入事件。在Linux2.6.29版本中,剩下的特定設(shè)備事件處理就只有鼠標(biāo)和joystick。這就意味著越來越多的輸入設(shè)備將通過event
          handler來和用戶空間打交道。事件處理層的主要作用就是和用戶空間打交道,我們知道Linux在用戶空間將所有設(shè)備當(dāng)成文件來處理,在一般的驅(qū)動程序中都有提供fops接口,以及在/dev下生成相應(yīng)的設(shè)備文件nod,而在輸入子系統(tǒng)的驅(qū)動中,這些動作都是在事件處理器層完成的,我們看看evdev.C相關(guān)代碼吧。


          關(guān)鍵詞: linux電阻觸摸屏s3c244

          評論


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

          關(guān)閉