如何修复 PlatformIO 串口监视器乱码输出
问题:
使用 PlatformIO 的 Monitor 功能时,你看到奇怪字符而不是打印的字符串,例如:
scrambled_output.txt
)�
�␜ܠ��J��1��1!y��!���!��
解决方案
此问题几乎总是由于 Monitor 功能使用错误的 UART 速度而出现。你可以从我们上面截图中的日志看到:
miniterm_log.txt
--- Miniterm on /dev/ttyUSB0 9600,8,N,1 ---PlatformIO 在此情况下使用 9600 波特 - 但你的微控制器以更快的速度发送数据(或很少以更慢的速度)。
大多数使用串行 IO 的固件使用 115200 波特,所以这是我建议首先尝试的,但如果不起作用,查找名为波特率或类似的配置选项,或类似这样的代码行
serial_begin.cpp
Serial.begin(57600);在固件中。
为了更改监视器 UART 速度,打开 platformio.ini 并添加
platformio_monitor_setting.ini
monitor_speed = 115200ESP32 的完整 platformio.ini 示例:
platformio_esp32_example.ini
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200之后,重启监视器功能。
Check out similar posts by category:
Arduino, Electronics, Embedded, ESP8266/ESP32, PlatformIO, STM32
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow