Gast
#2258396
Hi, ich habe eine Frage. Wenn ich zwei Timer Interrupts habe Timer0 (10ms) und Timer1 (150us) und ich nichts besonderes tue, wird ja beim Timer0 Overflow Int. der globale Int. handler deaktiviert, d.h. Timer0 ISR Routine läuft komplett durch. Braucht sie z.B. länger als 150us muss Timer1 warten und wird dann nach verlassen der Timer0 Overflow routine abgearbeitet. Richtig? ich nehme nicht an das andere Interrupts die während der Abarbeitung von Timer0 Overflow auftreten verfallen oder? Im Datenblatt steht jetzt, das man in der IRS (z.B. von Timer0) den globalen Int. Handler mit SEI wieder aktivieren kann. Dann können andere Interrupts die Routine unterbrechen und werden dann ausgeführt. Frage hierzu: - Spielt die position (prio) im Interrupts Vector eine Rolle dabei oder wird jeder auftretende Int. dann ausgeführt? - Was passiert wenn z.b. Timer1 dann in mitten der Bearbeitung von Timer0 ISR auftritt? Timer0 wird dort unterbrochen wo sie gerade steht, Timer1 ISR wird ausgeführt und anschließend wieder bei Timer0 ISR da weiter gemacht wo man aufgehört hat? oder verfällt dann der Rest von Timer0 ISR? Vielen Dank und Gruß schonmal vorab.