请选择 进入手机版 | 继续访问电脑版
查看: 482|回复: 9

[求助] STM32F429 DMA使用疑问

[复制链接]

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
发表于 2018-8-10 09:45:03 | 显示全部楼层 |阅读模式
最近在使用STM32F429的DMA时候,发现一个问题,当多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突(后面配置的DMA可用,前面配置的不能用),我用的USART6_TX用的是DMA2_Stream6通道5,TIM1_CC3使用的也是DMA2_Stream6,通道使用6,这两者理论上不应该产生冲突。
很少疑惑啊,求助各位!!!
  ST全新域名已上线,大家奔走相告>>                    
回复

使用道具 举报

该用户从未签到

81

主题

4111

帖子

1099

蝴蝶豆

论坛元老

最后登录
2018-10-22
发表于 2018-8-11 00:54:00 | 显示全部楼层
就像是407里先看DMA的物理结构, 8个channel共用一个stream,或者说每个stream包含8个channel。 同时开启多个stream是可行的,看结构也可行,内部会协调工作。但是针对一个stream应当不能同时开启多个channel,因为这里有8选一开关。 从配置寄存器也可以看出这一点。 所以,可能要等前面的channel完成后,再重新配置,选择其他channel。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 1 反对 0

使用道具 举报

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
 楼主| 发表于 2018-8-10 09:46:35 | 显示全部楼层
STM32的外设很多,我们在做项目的时候肯定时候能用DMA尽量用,如果这样会产生冲突那这些DMA的功能就无法全力施展开
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

836

帖子

280

蝴蝶豆

版主

最后登录
2018-10-23
发表于 2018-8-10 10:04:53 | 显示全部楼层
优先级了解一下。。。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
 楼主| 发表于 2018-8-10 12:12:34 | 显示全部楼层
MrJiu 发表于 2018-8-10 10:04
优先级了解一下。。。

就是DMA的传输优先级设置这里么,我多设置成HIGH了,我改一下试试,谢谢
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

836

帖子

280

蝴蝶豆

版主

最后登录
2018-10-23
发表于 2018-8-10 14:02:41 | 显示全部楼层
ajianyes 发表于 2018-8-10 12:12
就是DMA的传输优先级设置这里么,我多设置成HIGH了,我改一下试试,谢谢

根据不同得要求,设置不同得优先级。。。设置同一个优先级,肯定会出现问题,当然了,不同的而优先级也只是保证了,优先级高的,具体什么情况,需要看资料!!!

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
 楼主| 发表于 2018-8-10 15:16:38 | 显示全部楼层
MrJiu 发表于 2018-8-10 14:02
根据不同得要求,设置不同得优先级。。。设置同一个优先级,肯定会出现问题,当然了,不同的而优先级也只 ...

嗯,就是DMA2_Steam6在USART6与TIM1_CH1输入捕获函数里面初始化了2次,从目前看来视乎DMA的每一个STREAM都只能对应一个外设,不能被其他的外设同时占用。
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

7

帖子

4

蝴蝶豆

新手上路

最后登录
2018-8-12
发表于 2018-8-11 15:09:41 | 显示全部楼层
支持
回复

使用道具 举报

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
 楼主| 发表于 2018-8-13 08:46:27 | 显示全部楼层
feixiang20 发表于 2018-8-11 00:54
就像是407里先看DMA的物理结构, 8个channel共用一个stream,或者说每个stream包含8个channel。 同时开启多 ...

我自己查证了,确实每个STREAM只能打开一个通道,因为软件初始化就是针对DAM_STREAM的,
这样的话,这个F4系列的很多DMA只能错开使用了
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

13

帖子

0

蝴蝶豆

初级会员

最后登录
2018-9-17
 楼主| 发表于 2018-8-13 08:47:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|意法半导体STM32/STM8技术社区

GMT+8, 2018-10-23 21:59 , Processed in 0.240636 second(s), 11 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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