關(guān) 閉

        新聞中心

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

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

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

        2)設(shè)置定時(shí)器__TX_TIMER,定時(shí)值為Ts,即每T秒定時(shí)器__TX_TIMER發(fā)生一次中斷。中斷服務(wù)為檢查x_LINK_LIST_FI LL_TABLE的隊(duì)列長度L,判斷是否有可用的鏈表地址。如果有,則執(zhí)行出隊(duì)操作取出一個(gè)緩存地址FILL_CACHE_0,將其入隊(duì)到_LINK_LIST _STORE_TABLE中。然后利用其中的源地址、目標(biāo)地址和ControIValue值,將其分配給DMA通道x的相應(yīng)寄存器。若L>1,則再取出一個(gè)地址,入隊(duì)到UART_LINK_LIST_STORE_TABLE,將其值賦給DMAx的LLI寄存器。如果仍有可用鏈表地址,則取出,入隊(duì)到UART_LINK_LIST_STORE_TABLE,將其值賦給上一個(gè)鏈表地址中的LinkList_NextListAddress,然后依次類似操作,直到最一個(gè)取出后,將其LinkList_Next-ListAddress賦為0。若L=1,則將DMAx的LLI寄存器的值置為0。最后設(shè)置DMAx的Config寄存器,設(shè)置內(nèi)容有目標(biāo)外設(shè)為UART_TX、傳送類型為MEMORY TO PERIP HERAL、不屏避Terminal Count中斷、DMAx通道使能,啟動(dòng)DMAx傳輸。流程如圖2所示。

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

        c.JPG



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 会昌县| 本溪| 渝中区| 清镇市| 南溪县| 常宁市| 玉门市| 绵阳市| 西乡县| 乐亭县| 龙口市| 定日县| 通州区| 布尔津县| 罗江县| 县级市| 灵武市| 弥渡县| 邛崃市| 休宁县| 庐江县| 古交市| 桐梓县| 建湖县| 客服| 平江县| 泰来县| 安龙县| 象山县| 盐津县| 辽阳县| 九龙县| 河间市| 清新县| 运城市| 句容市| 松滋市| 桐柏县| 田阳县| 息烽县| 巴林右旗|