Interrupt Frage

Gast #5011
Lesenswert?

Hallo,

kleine Frage eines Anfängers : ich habe in einer zeitkritischen 
Funktion, die nicht unterbrochen werden darf, die interrupts 
abgeschaltet und schalte sie dann nach Ausführung wieder ein. Ich lasse 
nebenbei auch Timer1 im Interrupt-Modus laufen und da müssen halt bei 
Overflow/InputCapture die Interrupt Routinen angesprungen werden. Wenn 
ich jetzt aber gerade die Interrupts abgeschaltet habe, passiert dann 
garnichts oder werden die Interrupts dann beim sei nachträglich 
erzeugt und die Routinen angesprungen ?

Vielen Dank schon mal im Voraus.

Marco
Gast #5012
Lesenswert?

Hi Marco,
ich bin mir nicht 100% sicher, aber ich glaube die Interrupts werden 
"gespeichter" und nach Freigabe in Reihenfolge ihrer Priorität 
aufgerufen. Aber probier das doch mal mit dem Simulator des AVR Studios 
aus. Da sollte man das sehen.
Laß es uns wissen wenn Du es rausgefunden hast.

Gruß
Markus
Gast #5013
Lesenswert?

wenn ein interrupt eintrifft, wird das dazugehörige flag gesetzt (z.B. 
im GIFR). wenn das I-bit clear ist, dann passiert zunächst einmal nix. 
sobald das I-Bit aber wieder per sei eingeschaltet wird, werden die 
interrupts, die noch warten, abgearbeitet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren