问题是这样,使用了两个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的情况。 |
分时复用,并发是不切实际的。 |
程序在STM32F407ZE可行,下载到vgt6上不鞥运行
代码移植
太阳能电池板清洁小车的能实现的代码程序例子?
STM32F407外部中断对跳变沿的要求是什么?在手册哪里查看?
Cubemax 生成的文件夹选项包含Core文件夹
1.STMCWB 最新版本是否支持绝对值编码器?只能通过MCLIB库手动增加吗?2.基于ST FOC库的磁编码器(SPI出绝对角度信息)只跑速度环和电流环最简单
STM32是否支持CCP协议,能否用INCA/ CANape 进行调试和标定
为什么我的stm32cubemx里高级定时器只能配置输出比较的互补输出,而不能直接配置PWM互补输出?
高主频情况下进入会硬件错误
NUCLEO-F411RE板串口通讯问题