硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4973|回复: 5
收起左侧

[有问必答] DMA 的 channel 会冲突吗?

[复制链接]

3

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2014-12-28 21:18:27 | 显示全部楼层 |阅读模式
我用的F407  使用 USART1 USART3 分别用DMA传输,但是两个串口分别用的 dma1 dma2  都是dma_channel4

这个会造成冲突吗?

channel 是中断请求的通道还是什么?

用一个DMA的4个stream可以吗?


欢迎 大神指点
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2014-12-28 21:32:35 | 显示全部楼层
通道一样没问题的,你要做的是保证不同的数据流才可以,也就是下表所示:
1.png

2.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2014-12-28 21:33:59 | 显示全部楼层
看了下面的图你就明白为什么要保证不同的数据流才可以,而不是不同通道
3.png

4.png


回复

使用道具 举报

3

主题

3

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2014-12-28 21:39:36 | 显示全部楼层
是 4个不同的数据流                       USart3  Tx_DMA1_Stream3  Rx_DMA1_Stream1           usart1 Tx_DMA2_Stream7  Rx_DMA2_Stream5


好的  我在调试下。 谢谢


再请教下,串口的DMA请求怎么判断是哪个DMA的哪个stream来传送数据?    只看到有 USART_DMACmd() 这个函数
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2014-12-28 21:49:58 | 显示全部楼层

回 menghe96 的帖子

menghe96:是 4个不同的数据流                       USart3  Tx_DMA1_Stream3  Rx_DMA1_Stream1        & .. (2014-12-28 21:39) 
打开DMA的驱动文件,找相关的函数,看看那个函数是用来区分用的,这种方式查找函数也很方便。
回复

使用道具 举报

12

主题

134

回帖

170

积分

初级会员

积分
170
发表于 2014-12-31 21:54:34 | 显示全部楼层
学习下。。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 07:25 , Processed in 0.638071 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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