【求助】DMA缓冲区被锁???

2019-07-20 08:21发布

   在使用dma进行spi读写操作的过程中发现,定义的Rx_Buffer在dma传输完成后,如果被操作,例如将Rx_Buffer中所有数据赋值给另一个数组,那么后续dma就无法将数据传输到Rx_Buffer里了。而如果单独对Rx_Buffe[0]进行操作,例如判断Rx_Buffe[0]是否等于0x0F,那么后续仅有Rx_Buffe[0]无法通过dma更新数据。
   其中dma采用非循环模式,每传输完一次重新对NTDR寄存器赋值。如果不对Rx_Buffer操作,keil仿真查看memory可以看到数据都是正常的。但是一旦操作Rx_Buffer,缓冲区就像被锁住一样,数据不会再更新。
  网上都找不到类似的问题,太奇葩了,求大佬指点迷津

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。