新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于uClinux的嵌入式多功能信息交互終端

        基于uClinux的嵌入式多功能信息交互終端

        作者: 時間:2012-04-20 來源:網絡 收藏

        鍵盤的實現

        鍵盤的實現有兩種方案—采用I/ O (輸入/ 輸出)口或SPI(serial peripheral interface) 口。使用I/ O 口傳輸速度較快,但占用引腳較多,實現16 個按鍵的矩陣式鍵盤需要9 個引腳(4 個輸入、4 個輸出和1 個中斷請求) ; 用SPI 接口傳輸速度較慢,但只需要IN、OU T、CL K、CS0 、CLR 五個引腳。在主頻為66MHz的MCF5272 (Motorola 摩托羅拉) 之上,采用SPI 口基本滿足鍵盤傳輸速度的要求。

        MIIT 鍵盤硬件電路通過兩片74LS164 級聯實現16 個按鍵。其中,164 的輸入引腳A 要與B 相連,再接QSPI 的引腳。另外,鍵盤電路工作時必須將164的CLR 引腳設置為低電平(低電平有效) 。

        實現MIIT 鍵盤的SPI 口工作在主模式下。SPI口數據發送操作是通過向command RAM(命令) 中寫數據觸發的,經過8 位時鐘周期完成1 個字節的發送。鍵盤掃描碼作為輸入數據保留在transmit RAM (傳輸) 中,數據發送完畢后QIR(interrupt register) 自動置位,產生中斷。鍵盤掃描程序檢測到該中斷后,讀取Receive RAM(接收) 中的數據,而該數據就是t ransmit RAM 中的鍵盤掃描碼通過鍵盤電路處理后得到的鍵盤檢測值,軟件系統對該檢測值進行處理后得到鍵盤相應按鍵值。

        uCLinux 的串口數據采集

        uCLinux 的和停止位的設置) 、串口write 和read (讀寫) 、串口close (關閉) 等內容。數據采集程序實現上與windows操作系統下的串口通訊不一樣,其中有三點值得特別注意:

        1) MIIT 只是通過串口傳輸數據,不需通過串口模擬通信,所以MIIT 串口采用了Raw Mode (原始模式) 方式。設置方式如下:

        options. c-lflag   = ~ ( ICANON | ECHO | ECHOE | ISIG) ( Input) ;

        options. c-oflag   = ~OPOST(Output) ;

        2) 在設置串口時,發送方和接收方的波特率、效驗位和停止位要相同,否則雙方將不能通訊;

        3) 為了防止所采集的數據出現亂碼,需要把串口控制字符集control characters 中的VTIME 和VMIN設置為0 和1 。0 表示打開串口后隨時接收數據;1 被當做逾時設定值為一字元。

        特定應用程序的實現

        應用程序主要包括系統設置、基礎數據、采集數據、網絡通訊和打印等。應用程序采用單任務的控制方式,軟件系統接到按鍵事件后執行相關操作,如網絡通訊、打印等。例如,MIIT 在接到自動數據采集的按鍵命令后,執行采集任務,然后將采集的數據交與數據庫處理,完成后等待新的按鍵事件。

        結 論

        采用性能可靠 操作系統作為MIIT 的操作系統,無疑確保了程序的可靠性、簡化了軟件實現的復雜程度。在MIIT 系統上關鍵技術的實現,解決了MIIT 中的鍵盤輸入、Linux 串口數據采集、特定應用程序等問題,為MIIT能夠在家電、工業控制等領域得到應用和發展奠定了一定的理論和實踐基礎。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扬州市| 郴州市| 商南县| 盱眙县| 扶沟县| 唐海县| 淮阳县| 溆浦县| 靖远县| 米林县| 安龙县| 伊宁市| 额济纳旗| 凤城市| 东阳市| 元氏县| 泽普县| 阿拉善左旗| 沁源县| 连山| 渭源县| 商丘市| 科技| 龙川县| 绥中县| 海南省| 云霄县| 长顺县| 涿鹿县| 婺源县| 罗甸县| 棋牌| 镇赉县| 长岛县| 固始县| 双峰县| 惠来县| 花垣县| 民权县| 方城县| 青岛市|