Go Down

Topic: Variablendeklaration in Unterprogrammen (Read 1 time) previous topic - next topic

ShuftY

Ja richtig, es wird ja 1 Datei, und damit wäre void setup() ja doppelt vorhanden. Wenn du in deiner main deine variablen vor die setup() packst dann sind sie ja "überall Global", da es später 1 datei wird... für den compiler keinen unterschied ob es 1 tab ist oder 10  es wird zu einer Datei ;-)

hk007

Ja, das ist jetzt klar.
Aber ich finde es in meinem Fall etwas unübersichtlich alle Variablen in die Main zu werfen.
Da dachte ich, daß ich die Variable in einer Sub definiere, wo sie logisch dazu gehört.
Wenn das nicht geht, dann muss halt alles in die Main vor void setup()
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

MueThoS

Ich verstehe genau was Du meinst. Das nützt Dir aber nichts da ich es jetzt auch nicht weiß.  :)
Was ich aber weiß ist das ich auch Variablen in einem zweiten Tab deklariere ausserhalb von Funktionen.
Allerdings nutze ich diese dann auch nur in diesem Tab.

Ps: Habs gerade mal ausprobiert. Scheint aber zu gehen. Wenn du die Variablen im zweiten Tab ausserhalb einer Funktion deklarierst scheint sie global zu sein.
Darf halt nicht in einer Funktion passieren.

hk007

Quote
Wenn du die Variablen im zweiten Tab ausserhalb einer Funktion deklarierst scheint sie global zu sein.


ja, kann ich jetzt nach einigen Versuchen und auch mit der Hilfe von Shufty bestätigen.
Allerdings muss man da etwas aufpassen.
Die Neben-Tabs werden in der IDE in alphabetischer Reihenfolge angezeigt. Und so werden sie auch beim compilieren abgearbeitet.
Also muss der Tab, in dem die Variable definiert wird, alphabetisch vor den Tabs stehen, in denen die Variable verwendet wird.
Und wie MueThoS geschrieben hat, muss die Variable in dem Nebentab vor der Funktion definiert werden.
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

SaschaMega

Hallo, das Thema ist zwar schon etwas älter, aber ich habe das gleiche Problem.
Ich wollte alle meine globalen Variablen in einem Tab ablegen, weil ich das übersichtlicher finde.
Leider haben alle vorangegangenen Tipps nicht geholfen.
Ich habe als test das Blink.ino - Beispiel genommen und die Deklaration int led = 13; in einen neuen Tab AA_Globale_Variablen.ino verschoben und der Compiler meckert, dass er led jetzt nicht mehr kennt.
Kann das jemand nachvollziehen, bzw. kennt jemand Abhilfe für dieses Problem?
Achso, Arduino IDE: 1.0.5
Danke
Sascha

Go Up