Forum: Compiler & IDEs Volatile Variable lässt sich nicht zurücksetzen!


von John (Gast)


Lesenswert?

Hallo Leute,

in einem File foo.c habe ich eine globale Variable als volatile 
definiert, die im ISR geändert wird, sie wird in eine init_funktion 
initialisiert.
z.B.:
1
volatile unsigned int x;
2
3
void init_funktion(void)
4
{
5
 x=0;
6
}
7
8
void ISR()
9
{  
10
  x++;
11
}

und im foo.h deklariert
1
extern volatile unsigned int x;

das Problem wenn ich jetzt diese Variable in ein anderem File 
zurücksetzen will funktioniert das ganze nicht.
1
#include "foo.h"
2
3
void start_timer()
4
{
5
 x=0;
6
 T1TC= 1;
7
}

Weiss jemand vielleicht wo das Problem liegt?

Danke

von Karl H. (kbuchegg)


Lesenswert?

Das lässt sich so nicht sagen.
Das Problem liegt wahrscheinlich in den Code Teilen
die du nicht gezeigt hast.
Poste bitte kompletten, compilierbaren Code

von John (Gast)


Lesenswert?

Hallo Karl,
danke erstmal für deine schnelle Antwort.
D.h.also das es nicht an diese Variable liegen kann oder?

von John (Gast)


Lesenswert?

die start_timer() Funktion wird noch in einer dritten File aufgerufen:
1
#include "foo.h"
2
3
void start_UART()
4
{
5
 start_timer();
6
 ...
7
}

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.