<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式linux 電阻觸摸屏 (s3c2440)編程

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

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



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

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




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

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




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

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

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

2. 輸入子系統模型分析
2.1 整體框架:

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





第二部分 輸入核心 的作用如下:
(1) 調用input_register_device() used to 添加設備,調用input_unregister_device() 除去設備。(下面會(huì )結合觸摸屏驅動(dòng)講述)
(2) 在/PROC下產(chǎn)生相應的設備信息,下面這個(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)行處理

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


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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>