Logo
Lisa Schneider
Ein Arduino-Programm wirkt auf den ersten Blick wie eine Datei voller Regeln. Viele Einsteiger schreiben deshalb alles in eine Funktion – und wundern sich über stockende Abläufe.

Ein Programm sei eine Anweisung nach der anderen, also gehöre alles einfach untereinander in den Code. Das klingt plausibel, weil man beim Skripten am Rechner genau so arbeitet.

Tatsächlich besteht jedes Arduino-Programm aus zwei Bausteinen: setup() läuft genau einmal nach dem Start, loop() danach endlos. Der Mikrocontroller startet die Firmware, also das fest im Flash gespeicherte Programm, direkt ohne Betriebssystem – deshalb ist der Startvorgang kurz und vorhersagbar. In setup() steht alles, was einmalig hergestellt wird: pinMode() legt fest, ob ein GPIO-Pin (ein per Software einstellbarer Ein- oder Ausgang) Eingang oder Ausgang ist. In loop() steht die Arbeit, die sich wiederholt, etwa Sensoren lesen und Werte senden.

Der Irrtum entsteht, weil Einsteiger pinMode() oder Serial.begin() – das Starten der Seriellen Schnittstelle – in loop() schreiben. Das funktioniert oft, ist aber unnötige Arbeit bei jedem Durchlauf und stört Abläufe, die nur zum Start gehören.

Ein Beispiel ist ein Temperatur-Sensorknoten: In setup() wird der Sensor initialisiert und das Funkmodul verbunden. In loop() wird die Temperatur gelesen und gesendet; anschließend schläft der Knoten bis zur nächsten Messung.

Woran man es erkennt: Fragen Sie, ob der Schritt einen einmaligen Zustand festlegt oder wiederholt geschehen soll. Verbindung aufbauen gehört in setup(), Sensor lesen in loop().

setup() heißt nicht „Hauptprogramm mit Extras“, sondern einmalige Vorbereitung. loop() heißt nicht „einzige Funktion“, sondern endlos wiederholte Arbeit.

📌 setup() · loop() · Endlosschleife

📚 IoT von Grund auf · Tag 1 von 30
#Arduino #Mikrocontroller #firmware #iot
4 Tage vor

Noch keine Antworten!

Es scheint, dass diese Veröffentlichung noch keine Kommentare enthält. Um auf diese Veröffentlichung von Lisa Schneider zu antworten, klicken Sie unten darunter auf