Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 6.2 - Beim Debuggen kein Einsprung in eine Schleife


von M. G. (ixil96)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe die aktuellste Version des Atmel Studio 6.2 installiert und ein 
Problem beim Ausführen des Programmes im debug wire mode.
UC = ATMega88A @ 8MHz
Programmer = AVR Dragon

1. Der 1. Schleifeneinsprung kommt gleich nach dem Start obwohl die 
Variable flag 0 ist.

2. Die ISR wird bei einem Interrupt ausgeführt und flag geht auf 1

3. Rücksprung aus der ISR in das Hauptprogramm. Obwohl flag = 1 passiert 
kein Einsprung in die Schleife

?

Ich bin da jetzt am Ende mit meinem Latein!
Hat jemand eine Idee, was da sein kann?

von Thomas E. (thomase)


Lesenswert?

m. g. schrieb:
> Ich bin da jetzt am Ende mit meinem Latein!
> Hat jemand eine Idee, was da sein kann?

'flag' muss volatile sein!

mfg.

von Ursus P. (unwichtig)


Lesenswert?

m. g. schrieb:
> Hallo,
>
> ich habe die aktuellste Version des Atmel Studio 6.2 installiert und ein
> Problem beim Ausführen des Programmes im debug wire mode.
> UC = ATMega88A @ 8MHz
> Programmer = AVR Dragon
>
> 1. Der 1. Schleifeneinsprung kommt gleich nach dem Start obwohl die
> Variable flag 0 ist.
Dann wird auch der Interrupt sofort nach dem Start ausgelöst und setzt 
den flag auf "1"

> 3. Rücksprung aus der ISR in das Hauptprogramm. Obwohl flag = 1 passiert
> kein Einsprung in die Schleife
 deklarier mal flag als "static volatile"

von M. G. (ixil96)


Lesenswert?

Thomas Eckmann schrieb:
> m. g. schrieb:
>> Ich bin da jetzt am Ende mit meinem Latein!
>> Hat jemand eine Idee, was da sein kann?
>
> 'flag' muss volatile sein!
>
> mfg.


Ah ja, volatile! Da war doch mal was :-)

Jetzt klappts!

Vielen Dank!

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.