Hallo Leute, kann mir jemand folgende Frage beantworten? Löscht der AVR beim Eintritt in eine Interrupt-Service-Routine sein Interrupt Enabled Bit selbstständig oder muss ich das machen? -> cli(); Setzt der AVR beim Verlassen der ISR sein IE-Bit dann auch wieder, oder muss ich das machen? -> sei(); Bisher hab ich sicherheitshalber cli und sei einfach immer reingeschrieben, aber gehts auch ohne? Grüße, Patrick
ja es geht ohne, aber für solche sachen gibt es eine Doku und den Simulator.
Hallo Peter, vielen Dank für deine Antwort. Sollte ich eine Doku und einen Simulator vorliegen haben, werde ich mich deren gerne bemühen, war aber grad nicht so... Grüße, Alfred
> Bisher hab ich sicherheitshalber cli und sei einfach immer > reingeschrieben, aber gehts auch ohne? Das sei am Ende kann sogar schädlich sein, da in dem Fall die Interrupts schon wieder freigeschaltet werden, bevor aus der ISR zurückgesprungen wird. Wenn sehr viele Interrupts in kurzer Zeit auftreten, kann es theoretisch zu einem Stack-Überlauf kommen.
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.