Globale String

Hallo,

da ich ein etwas größeres Projekt vorhabe, wollte ich den Code mit Hilfe der Tab-Funktion etwas übersichtlicher gestalten. Leider habe ich in dem Code mehrere Strings.

Wie ist es möglich, das ich ein String "global" definiere, und alle anderen Tabs können darauf zurückgreifen?

Vielen Dank im voraus

arokh12

Ja. In der Arduino IDE sind kannst du die Tabs fast wie eine Datei sehen. Die werden von der IDE eine .cpp Datei kopiert und dann kompiliert. Der einzige Haken ist, dass das Kopieren in alphabetischer Reihenfolge geschieht.

Serenifly: Ja. In der Arduino IDE sind kannst du die Tabs fast wie eine Datei sehen. Die werden von der IDE eine .cpp Datei kopiert und dann kompiliert. Der einzige Haken ist, dass das Kopieren in alphabetischer Reihenfolge geschieht.

Alles klar, danke es funktioniert. Die alphabetische Reihenfolge passte nicht

arokh12

Du kannst es wahlweise auch “richtig” auf c++ Art machen.

Füge zwei extra Tabs ein
global.h

#ifndef __GLOBAL_H
#define __GLOBAL_H

// alle globalen Variablen deklarieren
extern char myString[];
extern int myGlobalInteger;
extern boolean buttonState;

#endif

global.cpp

#include  <arduino.h>
#include "global.h"

// alle globalen Variablen definieren
char myString[] = "..........";
int myGlobalInteger = 1234;
boolean buttonState;

Dann kommt es nicht mehr auf die alphabetische Reihenfolge an.
#include “global.h” kommt an den Anfang jeder Datei, die’s braucht.

Nicht ganz so sauber, mit weniger Tabs, geht’s auch:
Die Deklaration kann man auch an den Anfang jeder Datei schreiben, wo die Variable gebraucht wird.
Die Definition kann in eine .ino oder .cpp deiner Wahl, z.B. in die Haupt.ino zu setup() und loop()