關 閉

        新聞中心

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

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

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

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

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

        c.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宣恩县| 腾冲县| 临汾市| 牡丹江市| 宜兰县| 靖远县| 龙州县| 昌乐县| 平果县| 湟源县| 丰镇市| 嵊泗县| 进贤县| 扶沟县| 团风县| 巩义市| 鱼台县| 漳平市| 庆安县| 五寨县| 海原县| 上林县| 新乡县| 康平县| 丰原市| 中江县| 日照市| 喀什市| 上思县| 张家口市| 萨迦县| 庆安县| 永寿县| 奉贤区| 中方县| 留坝县| 哈巴河县| 阳江市| 东方市| 冕宁县| 牟定县|