www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Variable in Header file gemeinsam verwenden


Autor: Claudio H. (Firma: BLS-Electronics) (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen...

Ich habe folgende Datei Struktur

main.c

driver.h

driver.c


In der main.c includiere ich die driver.h
in der driver.c includiere ich auch die driver.h

In der Driver.h möchte ich nun eine Variabel aufsetzen, welche ich von 
driver.c beschreiben und von main.c auslesen kann...

Doch wie macht man das?

Ich bekomme immer den variablexy is redifined error...


Danke schonmal

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im Header:
extern variablendeklaration;

im zugehörigen Quellcode:
variablendeklaration;

HF

Autor: ikarus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du suchst extern
http://home.fhtw-berlin.de/~junghans/cref/CONCEPT/...
besser erklärt ist es hier, such einfach nach extern
http://public.beuth-hochschule.de/~kempfer/skript_...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in driver.h:
extern int meinevariable;

in driver.c:
int meinevariable;

Autor: Claudio H. (Firma: BLS-Electronics) (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat perfekt geklappt danke!

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem mit dem redifined error löst man nicht durch extern.

Man kann ja nur raten, was da falsch ist:

Claudio Hediger schrieb:
> In der Driver.h möchte ich nun eine Variabel aufsetzen

nicht gerade ein Fachausdruck.

Ich vermute aber mal, das du die Variable in der Headerdatei 
initialisierst anstatt sie nur zu deklarieren.

Also in der Headerdatei

exetrn int nX;

in einer der beiden Sourcedateien:
nX = 0;  //oder wie auch immer

mfg.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.