找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3787|回复: 3
打印 上一主题 下一主题
收起左侧

STM32F103的DMA能否实现外设到外设,内存到内存的传输?

[复制链接]
跳转到指定楼层
楼主
ID:494791 发表于 2019-7-29 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助!!!!STM32F103的DMA存储器到存储器   以及     外设到外设传输程序如何编写?
库函数版本的传输方向库里面只给了(((DIR) == DMA_DIR_PeripheralDST) || \((DIR) == DMA_DIR_PeripheralSRC))两个选项,在网上找的例程有DMA_DIR_MemoryToMemory,但是库里面好像没有,一写就报错
还有,存储器到存储器传输的话,应该选择哪个通道?数据手册额里面只写了    当设置了DMA_CCRx寄存器中的MEM2MEM位之后,在软件设置了DMA_CCRx寄存器中的EN位启动DMA通道时, DMA传输将马上开始。当DMA_CNDTRx寄存器变为0时, DMA传输结束  ,没有写选择哪个通道
各位大佬帮帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:388197 发表于 2019-7-29 22:37 | 只看该作者
存储器到存储器是有的.
外设到外设没听过,不过也不难实现,让DMA的两个通道指向同一个地址,一个设置为存储器到外设,另一个设为外设到存储器,然后分开触发.
F103的DMA一共就两个...DMA2只有大容量的才有.至于哪个通道,这个我没试过,你可以做实验试试,我猜的话,如果是存储器对存储器,应该是随便哪个通道都可以,只要设置好两个地址.
回复

使用道具 举报

板凳
ID:123289 发表于 2019-7-30 08:50 | 只看该作者
外设置的工作方式由外设定,
你要做的是让出总线,不要干扰到外设工作,因为外设这时要利用总线。
根据外设的要求,与外设做个握手,让彼此知道DMA的开始与结束。以便你收回总线使用权。
回复

使用道具 举报

地板
ID:494791 发表于 2019-8-1 16:30 | 只看该作者
cjm82 发表于 2019-7-29 22:37
存储器到存储器是有的.
外设到外设没听过,不过也不难实现,让DMA的两个通道指向同一个地址,一个设置为存储 ...

我用的是F103VET6,是大容量的,有DMA2,我刚才试了通道1和4,都不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表