我正在使用 LOLIN32 lite (ESP32) 读取从 STM32F103(黑色药丸)发送的数据。ESP32 使用 micropython,STM32 使用 CubeMX + Truestudio 编程。
在 micropython 中调用 uart.read() 或 uart.readline() 时,我得到了 STM32 发送的数据,但它在开头附加了一个 \x00 值。
从 Tera 终端我得到: b'\x00test message\n'
立方体MX:
STM32中使用的代码(我用的是HAL库,剩下的代码太长就不贴了)。
uint8_t buff_uart[] = "test\t a long message\n";
while (1){
HAL_UART_Transmit(&huart1,buff_uart,sizeof(buff_uart),1);
HAL_Delay(1000);
}
micropython中的代码:
uart = UART(2, 115200)
uart.init(115200, bits=8, parity=None, stop=1, timeout=2000)
while True:
uart.readline()
如果我将 STM32 的串行线连接到串行 USB,我可以在 Tera 终端(不带 \x00)中看到正确的数据。是不是 micropython 添加了分隔符?
或者这是一个错误?我在这里缺少什么?
