Globalebariabel im Header

Gast #2058033
Lesenswert?
• ▲
▼
In meiner ISR lese ich einen Remotecode aus. Welchen ich anschliessend 
an das Main übergeben will.

#ifndef GLOBAL_REMOTEWAHL
#define GLOBAL_REMOTEWAHL

typedef enum
{
KBEF = 0,
EA,
MINUS,
PLUS,
RECHTS,
RECHTSL,
LINKS,
LINKSL,
PAUSE
}Remote_Wahl;

#ifdef MAIN

volatile Remote_Wahl RemoteWahl;

#else

volatile extern Remote_Wahl RemoteWahl;

#endif
#endif

In der ISR wird die Remotewahl gesetzt. Aber wenn es in das Main 
zurückspringt, setzt sich die Remotewahl automatisch wider auf 0.
An was könnte das liegen? Danke für die schnelle Antwort.
Gast #2058046
Lesenswert?
• ▲
▼
Hallo Glaskugel

Ich kann mit dem Debugger sehen das vor verlassen der ISR die Remotewahl 
auf 0x0001 steht und danach 0x0000. Der eigentliche Code ist ja 
irrelevant da der Wert im Main gespeichert wird und durch extern dort 
darauf zugegriffen wird.
Gast #2058052
Lesenswert?
• ▲
▼
Egli Matthias schrieb:
> Ich kann mit dem Debugger sehen das vor verlassen der ISR die Remotewahl
> auf 0x0001 steht und danach 0x0000.

bist du sicher das die die gleiche variabel anschaust - lass dir mal die 
Adresse der Variable anzeigen.

> Der eigentliche Code ist ja irrelevant
also wenn ich soetwas sehen dann will ich mehr sehen

> #ifdef MAIN
> volatile Remote_Wahl RemoteWahl;
> #else

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.