stm32f051r8进行2.4G芯片调试使用SPI DMA模式去读DR运行一段时间后收到的整帧数据右移了三个字节

2019-07-14 13:34发布


[tr]在使用STM32f051r8 进行2.4G芯片调试,在发送端发送一帧固定的数据,接收端去进行接收,使用MDK调试,将收到的数据放入一个内存数组中观察,使用普通的SPI模式从DR接收数据时,可以看到数组收到的数据基本正确的,后来为提高速度,使用SPI DMA模式去读DR,发现一开始时,收到的数据正确,但运行一段时间后,收到的整帧数据右移了三个字节(发送的数据前三字节为0),再运行一段时间,数据右移两个字节(发送的数据前两个字节为0),之后再运行一段时间,数据右移一个字节(类似前一个字节为0),之后数据基本正常,此后反复此过程,我也注意到以下几点:
            1:每次重新打开DMA之前再设置发送的数据长度;
            2:在中断函数中,发送完毕后清除发送中断,接收完毕清除接收中断;
            除此之外还有其它的原因导致我的问题吗?
            这个问题找了几天的原因,还是没找出问题的所在,请各位指导,谢谢!
[/tr]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。