STM32
直播中

符筹荣

8年用户 1059经验值
私信 关注
[问答]

STM32F405如何配置才能使SPI2和串口3都可以正常使用DMA?

问题是这样,使用了两个CPU,主从通信通过SPI2进行,SPI2配置了DMA模式,两个CPU的6个串口叶使用DMA模式,当时看手册发现F405的6个串口是分配在不同的DMA流之上的,但是SPI2的DMA流却和串口有交叉,最厚果然印证了当时的担心,就是当主从CPU进行SPI2传输时(2ms进行一次,一次数据持续400us),此时从CPU的那两个和SPI有复用的串口就发布出来数据了,其他串口都可以正常发数,想知道F4既然给每一个DMA流都配置了8个通道,说明其是可以复用的,比如从CPU的SPI2发送使用CHANNEL0,STREAM4,串口3发送使用CHANNEL4,STREAM4,那我要如何配置才能使SPI2和串口3都可以正常使用DMA。从CPU的SPI2开启时间是受主CPU控制的,所以想让从CPU的SPI2去等待串口3释放DMA,这个很难做到,因为主CPU并不知道从CPU的情况。

回帖(1)

胡楚翘

2024-5-13 14:45:50
分时复用,并发是不切实际的。
举报

更多回帖

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