Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在循环模式下使用 DMA 和 STM32 sim800c 模块。我可以毫无问题地发送/接收 AT 命令/响应,但是当我尝试使用 AT 命令下载文件时出现问题,当开始从 UART 接收数据时,DMA RxCpltCallback 函数非常快速地调用并且主循环不会被触发,直到所有数据已收到。一旦收到所有数据,循环函数就会被触发,然后我检查包含最后一个文件块(64字节)的响应。
我该如何处理这种情况?
增加 DMA 缓冲区的大小。中断将不那么频繁地被调用。如果您的 UART 速度真的很高(大约 10Mb),请使用流控制 (CTS/RTS) 来控制通信。l