關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于DMA控制器的UART串行通信設計

        基于DMA控制器的UART串行通信設計

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

        3)x傳輸完成產生Terminal Count中斷,在其中斷服務程序中取出FIFO隊列_LINK_LIST_STORE_TABLE中保存的地址ADDR,將ADDR中的源地址入隊到n空緩存隊列,然后將ADDR值填充到x的可用空緩存FIFO隊列x_LINK_LIST_FREE_TABLE中。流程如圖3所示。

        本文引用地址:http://www.104case.com/article/160710.htm

        d.JPG


        3.3 數據接收過程實現
        n的DMA數據發送過程相對于必送過程較為簡單,在配置好相應的寄存器和目標緩存地址后,使能相應DMA通道。當UART接收數據達到觸發點后,會觸發DMA相應通道的突發請求進行傳輸。傳輸結束后,在TerminalCount中斷服務中更換目標緩存地址,使能一輪即可。當然在
        配置中,DMA通道的突發個數應設置與UART接收FIFO觸發點數相同。

        4 結束語
        在DMA發送進行的過程中,UART_LINK_LIST_STORE_TABLE保存的地址值序列ADDRs中的地址所指空間不能被釋放或被其它程序占用,同樣的ADDRs中地址的源地址所指的UART緩存空間也不能被釋放或被其它程序占用。如果在這個過程中出現了不滿足上述要求的情況,則會出現不可預測的錯誤。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临泉县| 淄博市| 蓬安县| 东乡| 二连浩特市| 通化市| 高邑县| 徐汇区| 乌苏市| 海兴县| 虎林市| 鄂州市| 淄博市| 获嘉县| 松江区| 靖西县| 华安县| 任丘市| 札达县| 隆回县| 梅河口市| 北票市| 石河子市| 错那县| 福建省| 沙湾县| 建宁县| 客服| 罗山县| 平定县| 临清市| 江源县| 江津市| 辽阳县| 华容县| 中山市| 三穗县| 晴隆县| 贵州省| 镇坪县| 蓬溪县|