關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于DMA控制器的UART串行通信設(shè)計(jì)

        基于DMA控制器的UART串行通信設(shè)計(jì)

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

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

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

        d.JPG


        3.3 數(shù)據(jù)接收過程實(shí)現(xiàn)
        n的DMA數(shù)據(jù)發(fā)送過程相對于必送過程較為簡單,在配置好相應(yīng)的寄存器和目標(biāo)緩存地址后,使能相應(yīng)DMA通道。當(dāng)UART接收數(shù)據(jù)達(dá)到觸發(fā)點(diǎn)后,會觸發(fā)DMA相應(yīng)通道的突發(fā)請求進(jìn)行傳輸。傳輸結(jié)束后,在TerminalCount中斷服務(wù)中更換目標(biāo)緩存地址,使能一輪即可。當(dāng)然在
        配置中,DMA通道的突發(fā)個(gè)數(shù)應(yīng)設(shè)置與UART接收FIFO觸發(fā)點(diǎn)數(shù)相同。

        4 結(jié)束語
        在DMA發(fā)送進(jìn)行的過程中,UART_LINK_LIST_STORE_TABLE保存的地址值序列ADDRs中的地址所指空間不能被釋放或被其它程序占用,同樣的ADDRs中地址的源地址所指的UART緩存空間也不能被釋放或被其它程序占用。如果在這個(gè)過程中出現(xiàn)了不滿足上述要求的情況,則會出現(xiàn)不可預(yù)測的錯(cuò)誤。


        上一頁 1 2 3 4 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 菏泽市| 高台县| 高州市| 墨竹工卡县| 如皋市| 且末县| 天门市| 敦煌市| 宁波市| 宁津县| 嘉禾县| 南雄市| 百色市| 郴州市| 鹤峰县| 彰武县| 土默特左旗| 且末县| 牟定县| 思南县| 崇仁县| 苏尼特左旗| 大港区| 武乡县| 广元市| 明光市| 奇台县| 京山县| 海林市| 甘洛县| 东乌珠穆沁旗| 南皮县| 德化县| 吴旗县| 二连浩特市| 鄂州市| 安乡县| 南川市| 六枝特区| 屏东县| 本溪市|