<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è) > 光電顯示 > 設計應用 > 嵌入式ARM下的觸摸屏驅動(dòng)系統設計

嵌入式ARM下的觸摸屏驅動(dòng)系統設計

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

在已經(jīng)安裝好開(kāi)發(fā)平臺的主機上執行make,就可以得到目標文件ad7873.ko,這就是我們需要的。在platform_data數據結構中設置好需要的數據,如中斷、大小、觸摸壓力上下限等數值,并編譯好內核下載到開(kāi)發(fā)板中運行。然后將ad7873.ko復制到開(kāi)發(fā)板,在終端下執行insmodad7873.ko,得到如下提示:

圖4 驅動(dòng)加載信息

圖4加載信息

顯示驅動(dòng)已經(jīng)加載成功,中斷號為126.

(注:thissectencehasbeen,為調試驅動(dòng)中斷的測試語(yǔ)句)然后用應用廣泛的tslib測試程序對驅動(dòng)進(jìn)行測試,測試結果顯示,工作正常。下圖觸摸屏上白色的字桂林電子科技大學(xué)觸摸屏為在tslib的測試程序下用觸摸筆寫(xiě)的字,證明了觸摸屏工作是正常的。

將此應用到家庭智能網(wǎng)關(guān)中,證明其工作穩定,響應很快。

圖5 觸摸屏正常響應圖

圖5觸摸屏正常響應圖

4驅動(dòng)程序出現的問(wèn)題及解決方法

在調試驅動(dòng)的過(guò)程中,出現了很多問(wèn)題,主要有以下兩個(gè):

4.1加載時(shí)報錯

在執行insmodad7873.ko時(shí),報錯為:

ad7873:noversionforstruct_modulefound:kerneltainted.

經(jīng)過(guò)檢查,發(fā)現是因為platform_data里面定義的。model=7873被寫(xiě)成了。model=7883,造成了無(wú)法識別這個(gè)驅動(dòng),產(chǎn)生了錯誤,修改后執行insmodad7873.ko成功。

4.2使用tslib測試軟件測試的時(shí)候,屏幕無(wú)反應

原以為是中斷程序出了問(wèn)題,因此在中斷里面設置打印信息,發(fā)現可以打印,于是確定了中斷時(shí)正常響應了的。然后跟蹤代碼檢查,發(fā)現定時(shí)器函數很可疑,于是在定時(shí)器函數設置打印信息,發(fā)現定時(shí)器函數沒(méi)有正確執行,找到了問(wèn)題的所在。于是順藤摸瓜,終于發(fā)現原來(lái)是在這個(gè)函數中fn_get_pendown_state(void),也就是用來(lái)得到觸摸屏狀態(tài)的引腳設置不正確,導致定時(shí)器函數里面無(wú)法得到觸摸屏的狀態(tài),所以無(wú)響應。修改了定時(shí)器的引腳定義使其指向正確的引腳便一切OK。

5結論

本文從硬件到軟件了整個(gè)觸摸屏驅動(dòng)。作為家庭無(wú)線(xiàn)智能控制器的一部分,觸摸屏使整個(gè)系統使用更方便與高效。而未來(lái)隨著(zhù)對觸摸技術(shù)的越來(lái)越高的要求,如多點(diǎn)觸摸技術(shù),需要驅動(dòng)為上層應用提供更穩定的處理與更多的接口,以便上層應用可以更加高效的編寫(xiě)應用程序來(lái)應對復雜的機制。這就需要在內核驅動(dòng)層改進(jìn)驅動(dòng)的結構與算法來(lái)應對。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(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>