STM32F427 DMA1和DMA2冲突

2019-07-20 06:34发布

问题描述:
       我用DMA1配合SPI2实现了SPI的发送和接收,在定时器中断中使用SPI配合DMA读取传感器数据,读取的频率是1Khz,也就是说一毫秒中断一次读取传感器数据。另外我又打开了DMA2,利用DMA2配合USART1向上位机发送其他数据,上位机又数据帧校验功能。DMA2配合USART1向上位机发送数据是5毫秒发送一次。当我把两个DMA都打开同时工作时,上位机会间断性出现误码现象,而当我官关闭了DMA1,只用DMA2配合串口发数据就不会出现乱码现象。请问大家这个问题怎么解决呢?DMA1和DMA2不是两个独立的模块吗?还是DMA1和DMA2同时访问总线出现了冲突?
     由于向上位机发送的数据量较大,不可能把SPI和USART放在一个DMA上工作,SPI要求精准的1毫秒就要触发一次,而USART在一毫秒内无法传输完一个数据帧。请大家赐教。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
k-ad
1楼-- · 2019-07-20 08:23
我也遇到这样的问题,SPI读回来的数据不对了
杨志KK
2楼-- · 2019-07-20 11:23
k-ad 发表于 2017-8-23 15:16
我也遇到这样的问题,SPI读回来的数据不对了

哈哈。你也是开了两个DMA吗?后来你怎么解决的?
k-ad
3楼-- · 2019-07-20 17:12
 精彩回答 2  元偷偷看……
杨志KK
4楼-- · 2019-07-20 22:04
 精彩回答 2  元偷偷看……
k-ad
5楼-- · 2019-07-20 23:35
有高手试过吗?
杨志KK
6楼-- · 2019-07-21 03:54
 精彩回答 2  元偷偷看……

一周热门 更多>