DMA的使用有点疑问

[复制链接]
2138|9
 楼主| 海川先生 发表于 2013-11-17 11:19 | 显示全部楼层 |阅读模式
比方说 我同一时刻要用到 ADC1 到 memory ,又要用到 SPI_RX到memory ,那么就要同时配置DMA1的通道1和DMA2的通道1,但是同一时刻 通道1的配置寄存器只能用于其一,也就是说 ADC1 和SPI_RX是不能同时使用DMA功能的对吧。
香水城主 发表于 2013-11-17 11:40 | 显示全部楼层
为什么不可以?DMA1和DMA2不是同一个模块吧?
 楼主| 海川先生 发表于 2013-11-17 11:46 | 显示全部楼层
本帖最后由 海川先生 于 2013-11-17 14:08 编辑

stm32 有 7+5个通道 ,但同一时刻能传数据的最多有两个,并且得是DAM2的通道1-5和DMA1的通道6-7
黄小俊 发表于 2013-11-17 13:08 | 显示全部楼层
原来这样。
airwill 发表于 2013-11-18 14:42 | 显示全部楼层
海川先生 发表于 2013-11-17 11:46
stm32 有 7+5个通道 ,但同一时刻能传数据的最多有两个,并且得是DAM2的通道1-5和DMA1的通道6-7 ...

求证一下: 3楼的资料是从哪里看到的, 我在数据手册并没有看到这样的说法
puchuang 发表于 2013-11-18 19:31 | 显示全部楼层
问题有没有解决   如果解决了  那就是对地   
 楼主| 海川先生 发表于 2013-11-19 22:00 | 显示全部楼层
airwill 发表于 2013-11-18 14:42
求证一下: 3楼的资料是从哪里看到的, 我在数据手册并没有看到这样的说法

不是资料里看到的,是我这样理解的。
DMA的寄存器能配置通道1到通道7,比方说这7个通道我全都配置好了,同一时刻,能同时工作的能有几个通道呢?
huzi2099 发表于 2013-11-20 07:45 | 显示全部楼层
海川先生 发表于 2013-11-19 22:00
不是资料里看到的,是我这样理解的。
DMA的寄存器能配置通道1到通道7,比方说这7个通道我全都配置好了, ...

dma是一个总线控制器+仲裁逻辑,在一个时间点上肯定只有一个,另外一个需要等待.
airwill 发表于 2013-11-20 08:48 | 显示全部楼层
海川先生 发表于 2013-11-19 22:00
不是资料里看到的,是我这样理解的。
DMA的寄存器能配置通道1到通道7,比方说这7个通道我全都配置好了, ...

这个说法应该也不合理, 我同意楼上8楼的看法.

另外楼主的疑惑是 "同一时刻 通道1的配置寄存器只能用于其一,也就是说 ADC1 和SPI_RX是不能同时使用DMA功能的对吧。"
我觉得这个说法是不对的, 当然我没有测试过. 我想肯定遇到问题了.
 楼主| 海川先生 发表于 2013-11-21 00:11 | 显示全部楼层
一个通道在某一时刻只能服务一个外设,不同通道间对DMA控制器的使用要根据通道自身的优先级排队使用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

200

帖子

1

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