Verständnis Frage Setup, Loop und Andere Bereiche

Hey Guys,

im Setup platziere ich den Code der nach Neustart des Controllers einmalig ausgeführt wird - OK
im Loop programmiere ich den Code, der unendlich ausgeführt werden soll - OK

Vor dem Setup kann ich globale Variablen definieren, auf die von überall her zugegriffen werden kann - OK

Aber

Ich sehe öfters Codes, die irgendwelche boolsche Flags oder Werte/ Funktionen zwischen dem Setup() {} und dem Loop (){} stehen haben.
Warum?
Ist das ein spezieller Bereich oder ist alles was nicht im loop oder Setup, beziehungsweise alles was nicht in einer Funktion {} steht global?

Kann mich da jemand aufklären ?

Gruss Franz

Variablen außerhalb von Funktionen sind global, wobei es der Übersicht hilft, diese oben zu sammeln.

Für Funktionen ist es manchmal sinnvoll, sie vor ihrer Verwendung zu schreiben, da die IDE es nicht immer schafft, die Deklarationen oben richtig zu erzeugen.

Gruß Tommy

Normalerweise müssen Dinge deklariert werden bevor man sie verwendet. Deshalb stehen die Sachen i.d.R. ganz oben. Je nach der Reihenfolge wie man das verwendet geht es auch später, aber das ist nicht sauber

loop() und setup() sind übrigens ganz normale Funktionen. Die werden lediglich automatisch aufgerufen. Aber letztlich ist das nur sowas in der Art:

void main()
{ 
    setup();
    while(1)
    {
       loop();
    }
}

Ahh alles klar danke für eure Antworten

Also alles was nicht in einer Funktion steht kann man als global Deklarieren

Perfekt danke

@Serenifly jetzt wo du es sagst, ist mir noch nie recht aufgefallen das im Grunde loop und Setup ganz normale Funktionen sind :smiley: