我使用以下代码从 ESP8266 传递数据:
int sendData(const char* data)
{
const int len = strlen(data);
const int txBytes = uart_write_bytes(UART_NUM_0, data, len);
return txBytes;
}
sendData("10001");
并使用以下代码在STM32端接收它:
char recvd_data_string[6];
recvd_data_string[5] = '\0';
HAL_UART_Receive(&huart1, recvd_data_string, strlen(recvd_data_string), 200);
printf("RECEIVED DATA : %s \n", recvd_data_string);
但是它打印出像“CüàhD”这样的乱码。我究竟做错了什么?请帮忙。
如果recvd_data_string是局部变量,调用HAL_UART_Receive时的strlen(recvd_data_string)可能是0到5之间的任意值,这不是你想要的。
JW