日韩欧美国产一区二区三区_五月天欧美精品_国产精品一区不卡_欧美精品乱码久久久久久

內容字號:默認大號超大號

段落設置:段首縮進取消段首縮進

字體設置:切換到微軟雅黑切換到宋體






基于嵌入式Linux的矩陣鍵盤驅動程序研究與開發(2)

時間:2009-04-29 來源:EDN China 作者:陳曉亮 點擊:

4 矩陣鍵盤驅動程序設計及測試
    首先,實現矩陣鍵盤驅動的加載和卸載函數,分別通過調用platform_drivet_register()和platform_driV—er_unregister()實現矩陣鍵盤作為一個平臺設備的注冊和注銷。

    其次,實現矩陣鍵盤驅動的探測和移除函數。在探測函數中,初始化行數、列數、中斷號以及按鍵映射表。然后分配內存空間和輸入設備,初始化omap_kp這個設備結構體和輸入設備結構體input_dev,初始化定時器,設置輸入設備可以報告的事件類型,并注冊輸入設備。最后申請中斷,申請中斷成功后,使能中斷。移除函數則完成相反的工作。

    最后,實現矩陣鍵盤驅動的核心部分,也就是中斷部分。眾所周知,在Linux的中斷處理中分為2部分,分別是頂半部(top half)和底半部(bottom half)。頂半部完成盡可能少的比較緊急的功能,它只是簡單地讀取寄存器中的中斷狀態并清除中斷標志后就進行“登記中斷”的工作。“登記中斷”意味著將底半部處理程序掛到該設備的底半部執行隊列中去。這樣。頂半部執行的速度就會很快,可以服務更多的中斷請求。底半部,是實現中斷處理的真正部分,它來完成一些延緩的耗時任務,首先通過列掃描法檢測各個按鍵狀態有沒有變化,若有變化再判斷是哪一列哪一行發生變化,按鍵的行和列確定以后,通過鍵值映射表來查找其有沒有對應的鍵值;若有則通過input_report_key()向內核報告按鍵的鍵值;否則,對應的按鍵沒有定義鍵值,向內核報告為假按鍵(Spurious Key)。然后,延時(1/20)Hz再判斷按鍵是否抬起。

    驅動開發完成后,以模塊方式加入到內核,并在MiniGui和Qtopia下進行了測試,在Qtopia下測試結果如圖2所示,證明矩陣鍵盤驅動工作正常、有效。

5 結 語
    在此介紹了基于0MAP5912和嵌入式Linux的一種矩陣鍵盤驅動的工作原理和開發方案。該驅動以靜態方式加入內核后,通過測試證明矩陣鍵盤驅動工作穩定、高效,在MiniGui和Qtopia的記事本中,都能正確顯示正確的鍵值,基本上實現了其功能,并成功地應用于所開發的嵌入式語音識別系統中。


(中國集群通信網 | 責任編輯:陳曉亮)

中國集群通信網,國內首家集群通信專業網站。

Copyright © PttCn.Net, All Rights Reserved.   

聯系我們 聯系我們 中國集群通信網 對講機學堂 對講機世界

主站蜘蛛池模板: 国产亚洲欧美一区二区三区| 欧美在线不卡区| 久久艹在线视频| 日韩一区二区三区国产| 精品一区二区中文字幕| 亚洲永久激情精品| 久久视频在线免费观看| 伊人久久大香线蕉综合75| 国产欧美欧洲| 久久夜色精品国产亚洲aⅴ| 久99久视频| 久久中文字幕在线视频V| 日韩欧美亚洲日产国产| 国产精品∨欧美精品v日韩精品| 久久视频免费在线| 91精品久久久久久久久久| 国产日韩第一页v| 蜜臀精品一区二区| 亚洲精品日韩在线观看| www.日韩免费| 国产免费一区| 久久夜色撩人精品| 久久久神马电影| 欧美大香线蕉线伊人久久| 日韩有码在线播放| 91久久精品国产91久久| 99精品欧美一区二区三区| 国产精品美女xx| 国产精品亚洲аv天堂网| 欧美视频在线观看网站| 高清一区二区三区视频| 日本高清视频一区二区三区| 日韩中文字幕第一页| 午夜精品美女自拍福到在线| 国产精品一区在线免费观看| 久久国产精品久久| 久久久久久久有限公司| 狠狠色综合欧美激情| 精品久久中出| 国产综合av一区二区三区| 国产日产欧美一区二区|