我有一个uint8_t rxBuffer[200] = {0};
数组。
缓冲区接收来自 UART 的消息
USART1.Receive(rxBuffer, sizeof(rxBuffer));
我想在这个 rxBuffer 中接收 UART 响应,解析它们,然后重用这个数组来解析进一步的响应。如何清除此缓冲区并重新使用它?
我尝试使用memset(rxBuffer, 0, sizeof rxBuffer);
,但当我尝试打印缓冲区内容时,调试控制台上没有打印
我在这里做错了什么?
我将为我正在尝试做的事情提供一个 sudo 代码:
uint8_t rxBuffer[200] = {0};
uint8_t at[] = "AT\r\n";
uint8_t atSetSTA[] = "AT+CWMODE=1\r\n";
DEMO_USART1.Send(at, sizeof(at) - 1);
delay(1000);
DEMO_USART1.Receive(rxBuffer, sizeof(rxBuffer));
print(rxBuffer);
memset(rxBuffer, 0, sizeof rxBuffer)
DEMO_USART1.Send(atSetSTA, sizeof(atSetSTA) - 1);
delay(1000);
DEMO_USART1.Receive(rxBuffer, sizeof(rxBuffer));
print(rxBuffer);
memset(rxBuffer, 0, sizeof rxBuffer)
当我使用 memset 时,没有任何内容打印到控制台。当我不使用 memset 时,在这种情况下它也会打印以前的响应。