0

我在循环模式下使用 DMA 和 STM32 sim800c 模块。我可以毫无问题地发送/接收 AT 命令/响应,但是当我尝试使用 AT 命令下载文件时出现问题,当开始从 UART 接收数据时,DMA RxCpltCallback 函数非常快速地调用并且主循环不会被触发,直到所有数据已收到。一旦收到所有数据,循环函数就会被触发,然后我检查包含最后一个文件块(64字节)的响应。

我该如何处理这种情况?

4

1 回答 1

0

增加 DMA 缓冲区的大小。中断将不那么频繁地被调用。如果您的 UART 速度真的很高(大约 10Mb),请使用流控制 (CTS/RTS) 来控制通信。l

于 2021-01-26T20:16:07.703 回答