Hallo,
gibts ein Macro oder ne spezielle Funktion, um eine ISR zu beenden wie
'return' in einer Funktion? Hatte nämlich vor kurzem nen ganz dummen
Fehler gemacht und einfach 'asm volatile("reti")' eingefügt, was
natürlich net funktioniert hat, da ja alle gesicherten Register erst
wieder vom Stack geholt werden müssen. Kennt avr-gcc da irgendein Macro
o.ä., dass dies automatisch bei dem "Verlasse-ISR-Befehl" macht?
Die Frage ist net so dringend, hab das einfach über ein 'if' gelöst,
würde mich aber trotzdem mal interessieren ...
Danke schon mal^^
MfG
Eine isr IST eine Funktion, somit kann return bedenkenlos eingesetzt werden. inline asm ist selten sinvoll, man muss dem compiler mitteilen, relche register benutzt wurden, etc. Notfalls funktioniert auch ein goto ans ende der Funktion.
Hmm stimmt, hatte mal vor längerer Zeit was gelesen, dass return in ner ISR net geht und habs jz daher voll vergessen :|
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.