找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4106|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

STM32F103的DMA能否實現(xiàn)外設(shè)到外設(shè),內(nèi)存到內(nèi)存的傳輸?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:494791 發(fā)表于 2019-7-29 14:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求助!。。TM32F103的DMA存儲器到存儲器   以及     外設(shè)到外設(shè)傳輸程序如何編寫?
庫函數(shù)版本的傳輸方向庫里面只給了(((DIR) == DMA_DIR_PeripheralDST) || \((DIR) == DMA_DIR_PeripheralSRC))兩個選項,在網(wǎng)上找的例程有DMA_DIR_MemoryToMemory,但是庫里面好像沒有,一寫就報錯
還有,存儲器到存儲器傳輸?shù)脑,?yīng)該選擇哪個通道?數(shù)據(jù)手冊額里面只寫了    當(dāng)設(shè)置了DMA_CCRx寄存器中的MEM2MEM位之后,在軟件設(shè)置了DMA_CCRx寄存器中的EN位啟動DMA通道時, DMA傳輸將馬上開始。當(dāng)DMA_CNDTRx寄存器變?yōu)?時, DMA傳輸結(jié)束  ,沒有寫選擇哪個通道
各位大佬幫幫忙
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:388197 發(fā)表于 2019-7-29 22:37 | 只看該作者
存儲器到存儲器是有的.
外設(shè)到外設(shè)沒聽過,不過也不難實現(xiàn),讓DMA的兩個通道指向同一個地址,一個設(shè)置為存儲器到外設(shè),另一個設(shè)為外設(shè)到存儲器,然后分開觸發(fā).
F103的DMA一共就兩個...DMA2只有大容量的才有.至于哪個通道,這個我沒試過,你可以做實驗試試,我猜的話,如果是存儲器對存儲器,應(yīng)該是隨便哪個通道都可以,只要設(shè)置好兩個地址.
回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2019-7-30 08:50 | 只看該作者
外設(shè)置的工作方式由外設(shè)定,
你要做的是讓出總線,不要干擾到外設(shè)工作,因為外設(shè)這時要利用總線。
根據(jù)外設(shè)的要求,與外設(shè)做個握手,讓彼此知道DMA的開始與結(jié)束。以便你收回總線使用權(quán)。
回復(fù)

使用道具 舉報

地板
ID:494791 發(fā)表于 2019-8-1 16:30 | 只看該作者
cjm82 發(fā)表于 2019-7-29 22:37
存儲器到存儲器是有的.
外設(shè)到外設(shè)沒聽過,不過也不難實現(xiàn),讓DMA的兩個通道指向同一個地址,一個設(shè)置為存儲 ...

我用的是F103VET6,是大容量的,有DMA2,我剛才試了通道1和4,都不行
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表