新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM中基于DMA的高效UART通訊及其應用

        ARM中基于DMA的高效UART通訊及其應用

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

        5、試驗及結論

        為了驗證的有效性,筆者做了對比試驗。把負責軌跡插補的定時中斷優先級設計成最高(中斷時間間隔50毫秒,中斷服務程序執行時間約需要30毫秒),然后一個機器人采用中斷方式接收上位機連續發送的100組命令,另一個采用的方式接收上位機連續發送的100組命令。然后在機器人主程序中通過讀取的狀態寄存器判斷出現錯誤(主要是數據溢出錯誤,即緩沖區有接收數據而沒有及時讀取,被新的數據覆蓋)的次數。軟件采用C語言,用ADS1.2編譯調試。試驗結果如表2。實驗證明了第二種方式的有效性。

        表2:對比試驗結果
        5.jpg

        本文作者的創新點在于:在中,通過采取方式,直接將接收的數據轉移到設定好的RAM區,然后設置相應的全局標志,通知主程序數據可用就可以了。開發人員不需要到UART的緩沖區中讀取數據,直接讀RAM就可以了。與采用中斷方式或者查詢方式的串行口方式相比較,不僅僅可以節省CPU通訊時用于接收數據的時間,同時可以防止UART接收的數據由于沒有及時被讀取而丟失,提高了通訊的可靠性。

        參考文獻:
        (1)嵌入式系統開發與,田澤編著,北京航空航天大學出版社,2005年5月第一版;
        (2)S3C44B0X RISC MICROPROCESSOR ,SAMSUNG ElECTRONICS
        (3)微控制器基礎與實戰,周立功等編著,北京航空航天大學出版社,2003年11月第1版.
        (4) 魏永清 萬寶年,具有軟件模擬FIFO緩沖區的串口通信模塊設計,微計算機信息 2006年第7-2期:64-66


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁津县| 财经| 烟台市| 波密县| 刚察县| 岳阳县| 江城| 盐源县| 五指山市| 洮南市| 大足县| 黄骅市| 绍兴县| 莒南县| 东兴市| 商南县| 长武县| 玛沁县| 秦安县| 宁陕县| 柞水县| 江门市| 丹棱县| 禹城市| 望江县| 上虞市| 平利县| 常德市| 乐至县| 南安市| 嘉荫县| 平和县| 凌海市| 天镇县| 蒙山县| 抚顺县| 镇宁| 嵊州市| 万山特区| 黄大仙区| 泗阳县|