Forum: Compiler & IDEs AVR Studio 6 I-Flag Problem


von Florian (Gast)


Lesenswert?

Hallo liebe µC.net Gemeinde,

nach mehreren Versuchen eine Hilfe im Netz zu finden möchte ich nun mein 
Glück hier versuchen.
Ich nutze seit kurzem AVR Studio 6 und arbeite mich aktuell in die 
C-Programmierung ein. Bisher habe ich ausschließlich mit der Version 4.1 
und Assembler gearbeitet.
Ich habe ein Assembler Projekt zur Hand genommen und versuche gerade 
dieses in C zu programmieren. Beim kompilieren des C-Files kommen 
keinerlei Fehler, dennoch wird im debugging Modus das I-Flag während 
einer dauerschleife einfach gelöscht. Setze ich in diese Dauerschleife 
ein sei() so bleibt es gesetzt. Ist euch solch ein Fall bekannt? Im 
erstellten Assembler code wird an dieser Stelle lediglich auf eine 
Änderung einer Variablen gewartet.

von Florian (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch der Code-Auszug, dieser wird laut debugger im single step 
nicht verlassen (bleibt bei der ersten if-Anweisung). Jedoch das I-Flag 
gelöscht.

von Oliver (Gast)


Lesenswert?

Kannst du mal das ganze Projekt hochladen?
Screenshots lassen sich so schlecht compilieren...

Oliver

von Stefan E. (sternst)


Lesenswert?

Florian schrieb:
> Hier noch der Code-Auszug, dieser wird laut debugger im single step
> nicht verlassen (bleibt bei der ersten if-Anweisung). Jedoch das I-Flag
> gelöscht.

Debug -> Options and Settings -> Debugger
-> Mask interrupts while stepping


PS: Cross-Posting ist pfui.

von Florian (Gast)


Lesenswert?

vielen dank, muss die einstellung auf true oder false stehen???

von Florian (Gast)


Lesenswert?

super, die einstellung muss auf false stehen. noch eine 2. frage, woran 
kann es liegen das eine isr das interrupt flag erst beim 2. durchlauf 
löscht?

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.