PlatformIO Serial Monitor unleserliche Ausgabe beheben
Problem:
Bei Verwendung der Monitor-Funktion von PlatformIO erscheinen seltsame Zeichen anstatt der ausgegebenen Strings, zum Beispiel:
)�
�␜ܠ��J��1��1!y��!���!��
Lösung
Dieses Problem tritt fast immer auf, weil die Monitor-Funktion die falsche UART-Geschwindigkeit verwendet. Aus dem Log im obigen Screenshot ist ersichtlich:
--- Miniterm on /dev/ttyUSB0 9600,8,N,1 ---dass PlatformIO in diesem Fall 9600 Baud verwendet – aber der Mikrocontroller sendet Daten mit einer höheren (oder selten niedrigeren) Geschwindigkeit.
Die meisten Firmwares mit serieller Ein-/Ausgabe verwenden 115200 Baud, daher wird empfohlen, dies zuerst auszuprobieren. Wenn das nicht funktioniert, nach Konfigurationsoptionen namens Baud-Rate oder ähnlich suchen, oder nach Codezeilen wie
Serial.begin(57600);in der Firmware.
Um die Monitor-UART-Geschwindigkeit zu ändern, platformio.ini öffnen und hinzufügen
monitor_speed = 115200Vollständiges platformio.ini-Beispiel für ESP32:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200Danach die Monitor-Funktion neu starten.