Forum: Compiler & IDEs Globale Variablen in auch "include-Dateien" verwenden


von Matze K. (phytomed)


Lesenswert?

Moin,

ich möchte eine globale Variable aus dem Hauptprogramm
innerhalb von einer include Datei verwenden, d.h.
ich möchte sowohl in dem Hauptprogramm als auch in
der Include-Datei auf die Variable zugreifen.

Es handelt sich dabei um einen Zähler, der bei jedem
Uart-Aufruf incrementiert werden soll.
Der Controller wird durch den Timer2 alle 8 Sekunden
aufgeweckt, dann soll er gucken, ob der Uart verwendet
wurde und dann den Uart lesen,
ansonsten soll er sich wieder schlafen legen (power_save_mode).


Vielen dank
Matthias

von Matze K. (phytomed)


Lesenswert?

Entschuldigt bitte,

ich hatte zuerst nichts gefunden,
dann diesen Beitrag verfasst,
und dann die Lösung doch noch ermittelt.

http://www.mikrocontroller.net/forum/read-2-305525.html#new

unter
Autor: Rufus T. Firefly (Rufus)
Datum: 16.02.2006 19:36

DANKE Trotzdem
Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was magst Du mit "in der Include-Datei auf die Variable zugreifen"?

Korrekt ist folgende Vorgehensweise:

  // main.c

  int meine_globale_variable;

  void main(void)
  {
    meine_globale_variable = 0;
  }

  // main.h
  extern int meine_globale_variable;



  // blafusel.c

  #include "main.h"

  void machwas(void)
  {
    meine_globale_variable = 1;
  }

von Tom (Gast)


Lesenswert?

Nur als Anmerkung zum Programm:
Normalerweise solltest du den Proz mit einem UART-Interrupt aus dem
Sleep-Mode holen, nicht mit dem Timer. Sonst kann es passieren, dass am
UART schon lange Zeichen verloren gegangen sind. Ein Byte muss immer
sofort abgeholt werden, bevor das nächste kommt.

Tom

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.