找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4106|回復: 3
打印 上一主題 下一主題
收起左側(cè)

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

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表