OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9614|回复: 8

DMA需不需要区分DMA1,DMA2?

[复制链接]

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2013-10-18 11:49:01 | 显示全部楼层 |阅读模式
问个小傻的问题


DMA需不需要区分DMA1,DMA2?


看了DMA的资料,感觉好像是不需要选择 MDA_x 的是吧?只需要选择好对应的通道,然后就由各自触发请求决定,是不是这样啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2013-10-18 12:38:44 | 显示全部楼层
你错了
DMA1  有x个通道,DMA2  有Y个通道,具体内容不一样的
世界如此美好,好好珍惜每一天吧!
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-10-18 12:51:48 | 显示全部楼层
回复【2楼】dzng11:
---------------------------------
他有两个DMA核心啊,为DMA1,DMA2


然后就是比如DMA_CCRx有1-7个,这就是流呀


UART4_RX,是DMA2的3号通道,
USART1_TX,是DMA1的4号通道,



比如,我要使用这两个,那我是不是,只要配置好3号,4号通道,然后设置好源跟目的地址,跟数据大小,就可以根据,各自的DMA触发信号触发使用了?
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-10-18 13:01:51 | 显示全部楼层
在STM32F40xx中有对流选择通道处理,在STM32F103中怎么选啊?
回复 支持 反对

使用道具 举报

19

主题

302

帖子

2

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2011-11-22
在线时间
10 小时
发表于 2013-10-18 13:38:27 | 显示全部楼层
每一个通道都有单独的地址,你看看头文件结构就知道了


typedef struct
{
  __IO uint32_t CCR;
  __IO uint32_t CNDTR;
  __IO uint32_t CPAR;
  __IO uint32_t CMAR;
} DMA_Channel_TypeDef;

#define SDIO                ((SDIO_TypeDef *) SDIO_BASE)
#define DMA1                ((DMA_TypeDef *) DMA1_BASE)
#define DMA2                ((DMA_TypeDef *) DMA2_BASE)
#define DMA1_Channel1       ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE)
#define DMA1_Channel2       ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE)
#define DMA1_Channel3       ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE)
#define DMA1_Channel4       ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE)
#define DMA1_Channel5       ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE)
#define DMA1_Channel6       ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE)
#define DMA1_Channel7       ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE)
#define DMA2_Channel1       ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE)
#define DMA2_Channel2       ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE)
#define DMA2_Channel3       ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE)
#define DMA2_Channel4       ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE)
#define DMA2_Channel5       ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE)
世界如此美好,好好珍惜每一天吧!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-18 13:55:10 | 显示全部楼层
STM32是按通道分的。1楼已经说了,DMA1几个通道,DMA2几个通道。
你要用什么外设,都是固定死了,在某个通道的,你没法设置的,只能取用这个通道。

在STM32参考手册,有个DMA通道和外设的对应表格,你看那个表,就清楚了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-18 14:00:03 | 显示全部楼层
 


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-10-18 15:35:21 | 显示全部楼层
回复【5楼】dzng11:
---------------------------------
谢谢
回复 支持 反对

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
 楼主| 发表于 2013-10-18 15:36:26 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
谢谢,原子,哇咔咔,赶鸭子上架了,我自己还没玩到DMA,已经设计要用了,而且是STM32F4系列的,呜呜呜呜
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 03:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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