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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.