Wer ein erstes IoT-Programm auf einen Mikrocontroller lĂ€dt, trifft schnell auf Serial.println(). Wer nicht weiĂ, was dahinterlĂ€uft, sieht nur wirre Zeichen im Monitor und hĂ€lt die Platine fĂŒr kaputt.
Der serielle Monitor der Arduino-IDE zeigt Textausgaben der Firmware ĂŒber die USB-Verbindung an, etwa mit Serial.println(). Dahinter steckt dieselbe UART-Verbindung, also die serielle Schnittstelle mit einer TX- und einer RX-Leitung, ĂŒber die auch die Firmware in den Flash-Speicher geschrieben wird. UART ĂŒbertrĂ€gt Daten ohne gemeinsamen Takt, deshalb mĂŒssen Firmware und Monitor dieselbe Baudrate verwenden, also dieselbe Ăbertragungsgeschwindigkeit in Bits pro Sekunde.
In der Praxis sieht das so aus: In setup(), dem Vorbereitungsteil, der genau einmal lĂ€uft, startet Serial.begin() die Schnittstelle und legt die Baudrate fest. Danach gibt die Firmware mit Serial.print() Text aus dem laufenden loop(), der Endlosschleife nach dem Start, an den PC. Serial.println() fĂŒgt am Ende einen Zeilenumbruch an, sodass jede Ausgabe eine eigene Zeile erhĂ€lt. Vor dem WLAN-Verbinden etwa eine Zeile âWLAN verbindeâŠâ, danach die Antwort der Firmware.
Verwechselt wird der Monitor gern mit einem MessgerĂ€t. Er ist keins: Er zeigt nur, was die Firmware selbst ausgibt, etwa den gelesenen Pin-Zustand, nicht was ein Multimeter messen wĂŒrde. Auch Serial.begin() gehört in setup(), nicht in loop(), sonst wiederholt die Firmware die Startarbeit bei jedem Durchlauf und kann AblĂ€ufe stören, die nur beim Start gehören.
Der serielle Monitor ist kein separates Werkzeug, sondern dasselbe UART-Kabel, nur in Gegenrichtung. Er ersetzt kein MessgerĂ€t â aber er ersetzt das Raten.
đ Serieller Monitor · Serial.println() · Baudrate
đ IoT von Grund auf · Tag 3 von 30
#Arduino #esp32 #Mikrocontroller