Forum: Mikrocontroller und Digitale Elektronik externe Variable


von Jörg (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Verständnisproblem mit externen Variablen:

ich habe in meiner main.c folgende Variable:

extern unsigned char number;

in einer anderen Datei des Projektes wollte ich den Inhalt dieser 
Variablen über Can wegschicken. dafür habe ich diese Variable so 
eingebunden:

extern unsigned char number;

Also genau gleich.

Leider bekomme ich immer einen Fehler beim compilieren:
multiple storage classes in declaration specifiers.

ich habe das selbe mit int Variablen gemacht und da klappt es 1A.

Ich danke euch für eure Hilfe.

Gruß
Jörg

von Ralph (Gast)


Lesenswert?

Du musst dir Variable an EINER Stelle ohne das extern erst einmal 
erzeugen bevor du die sie an anderer Stelle mit extern einbinden kannst.

Und sieh dir in deiner Compilerbeschreibung mal an wie der Typ "unsigend 
char" geschrieben werden muss.
Da gibt es fast so viele Varianten wie es Compiler gibt.

zb
uchar
Uchar
uChar
UnsignedChar
.
.
.
.
.

von Jörg (Gast)


Lesenswert?

Danke für deine Antwort. Ich habe das Problem nun mit einer getfunktion 
gelöst.
Ich denke das ist die schönere Lösung.
Trotzdem versuche ich noch das Problem mit externen Variablen hzu lösen, 
rein aus interesse.

von Karl H. (kbuchegg)


Lesenswert?

Dann fang mal hier ein wenig zu lesen an.

FAQ
Punkt 8: Globale Variablen über mehrere Dateien

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.