问题描述:
我用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在一毫秒内无法传输完一个数据帧。请大家赐教。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不是同一时间全都开, 得最少也有两个是同时在用, 我还记得mem2mem不能同时用, 其它peripha到mem, 或者mem2peripha同用是没问题
一周热门 更多>