我正在通过DMA实现接收UART . 我把收到的7字节UART数据写入uint8数组[7] .

我的代码是:

HAL_UART_Receive_DMA(&huart1, recv, 7);

一开始似乎都没问题,但几百次后,存储在recv数组中的数据被移动了一次,这个问题在前几百次接收时间后不断发生 . 我使用循环和递增地址存储器模式配置DMA . 我该如何解决?