STM32
直播中

刘满贵

7年用户 1460经验值
私信 关注
[问答]

使用STM32F429的DMA多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突怎么解决?

最近在使用STM32F429的DMA时候,发现一个问题,当多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突(后面配置的DMA可用,前面配置的不能用),我用的USART6_TX用的是DMA2_Stream6通道5,tiM1_CC3使用的也是DMA2_Stream6,通道使用6,这两者理论上不应该产生冲突。
很少疑惑啊,求助各位!!!

回帖(1)

席连施

2024-4-24 10:54:49
就像是407里先看DMA的物理结构, 8个channel共用一个stream,或者说每个stream包含8个channel。 同时开启多个stream是可行的,看结构也可行,内部会协调工作。但是针对一个stream应当不能同时开启多个channel,因为这里有8选一开关。 从配置寄存器也可以看出这一点。 所以,可能要等前面的channel完成后,再重新配置,选择其他channel。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分