求助stm32可以用dma进行外设到外设的传输吗?

[复制链接]
9472|21
 楼主| tang20063260 发表于 2012-4-18 17:29 | 显示全部楼层 |阅读模式
如题:比如adc到usart的传输,如果可以该如何对dma进行初始化
airwill 发表于 2012-4-18 18:12 | 显示全部楼层
好象不可以, 不妨试试吧.
dfsa 发表于 2012-4-18 18:20 | 显示全部楼层
应该不可以,自己试试
火箭球迷 发表于 2012-4-18 18:30 | 显示全部楼层
不可以
pkat 发表于 2012-4-18 21:30 | 显示全部楼层
应该是不能
logokfu 发表于 2012-4-23 07:50 | 显示全部楼层
手册上说过不可以。
lut1lut 发表于 2012-4-23 09:50 | 显示全部楼层
手册上说过不可以。
**kfu 发表于 2012-4-23 07:50


为何不可以?

手册上哪里说了,能否指明。
logokfu 发表于 2012-4-23 09:56 | 显示全部楼层
7# lut1lut

我没有实际验证过。我只是看手册上没有提到外设与外设之间传输。

DMA.jpg
lut1lut 发表于 2012-4-23 10:26 | 显示全部楼层
手册写的确实有歧义。。。

就如STM32F2的手册上也只提到了
/*************************************/
It can carry out the following transactions:
●       peripheral-to-memory
●       memory-to-peripheral
●       memory-to-memory
/*************************************/
但是在F2后面的正文描述绝对支持外设到外设,当然只是DMA2支持。

F1也是支持外设到外设的。比如:
在TIMx的更新中断触发下,DMA读取ADC的值传送到USART发送出去。
香水城 发表于 2012-4-24 10:05 | 显示全部楼层
广义的讲,对于DMA模块,存储器与外设没有分别,无非就是把数据从某个地址空间搬到另外一个地址空间,不管是源地址空间也好,目标地址空间也好,或者是一个区域,或者是一个单独的地址;在操作时,对于一个区域来说,需要地址不断递增,对于单独的地址单元来说,则不需要地址递增。

从这个意义上讲,完全可以使用DMA进行外设到外设的传输!
McuPlayer 发表于 2012-4-24 10:39 | 显示全部楼层
因为外设和内存在不同速度的总线,DMA控制器要做时钟协调,所以才叫用户设置那个寄存器

简单理解成DMA就是搬运,还是很直观的
st316 发表于 2012-4-25 08:57 | 显示全部楼层
本帖最后由 st316 于 2012-4-25 09:13 编辑

刚好正在看DMA部分,最新的Manual上说了,DMA支持外设到外设之间的传输。:lol
untitle.jpg
 楼主| tang20063260 发表于 2012-4-25 12:04 | 显示全部楼层
大侠些能做程序验证下吗,有时间的时候我在试一下
 楼主| tang20063260 发表于 2012-5-10 17:11 | 显示全部楼层
实践才是检验真理的最好标准,感觉11楼貌似说出原因了
Brother发 发表于 2012-8-8 22:02 | 显示全部楼层
本帖最后由 Brother发 于 2012-8-8 22:04 编辑

我用DMA进行SDIO(DMA2)与SPI2(DMA1)之间传输就不行,进入传输错误中断,哪位仁兄有试过外设与外设间传输可以的吗?是否同一个DMA1与DMA1的外设传输才行呢???9楼是否实验过可以??
lkl10800139 发表于 2012-8-9 22:26 | 显示全部楼层
我做过,adc采集,dac输出,可以的。adc到usart当然可以。张工说的,嘿。
Brother发 发表于 2012-8-12 08:46 | 显示全部楼层
请问lkl10800139 用的是哪个ADC?是DMA1与DMA1的传输还是DMA1与DMA2?
mengyy 发表于 2015-10-31 11:22 | 显示全部楼层
SD传输的时候一直卡在了DMA等待这里,
用野火的不行,原子的驱动我也看了,没条理,都看不下去,安富莱的中规中矩的,不错,换了安富莱的驱动就可以了   代码复杂看不懂,求解
jildlfg 发表于 2016-12-22 12:53 | 显示全部楼层
外设与外设之间可不可以,与通道有没有关系呢?
QQ截图20161222125228.png
huzi2099 发表于 2016-12-22 13:52 | 显示全部楼层
可以的,目的地址填串口发送寄存器就行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

33

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部