Forum: Mikrocontroller und Digitale Elektronik Interrupt Frage


von Marco Lehmann (Gast)


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

von Markus (Gast)


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

von Jonas Diemer (Gast)


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.

von Marco Lehmann (Gast)


Lesenswert?

Schon mal gut zu hören, ausprobieren kann ich das aber erst am Mittwoch, 
heute ist dafür keine Zeit. Erspart mir aber so 'ne Menge Timingarbeit.

Vielen Dank für die Hinweise

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.