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.
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.
Kannst du mal das ganze Projekt hochladen? Screenshots lassen sich so schlecht compilieren... Oliver
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
