PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interrupt Frage



MichlM
02.07.2007, 14:22
Hallo,

ich bastle gerade an einem Bascom-Programm das auf verschiedene Interrupts reagiert. INT0, UART, Timer.
Wenn gerade ein Interrupt, z.B. Timeraufruf, abläuft und in der Zwischenzeit ein anderer, z.B. INT0 auslöst, was wird dann wie abgearbeitet? Wird die zuerst ausgelöste Interruptroutine abgearbeitet und dann die, die in der Zwischenzeit ausglöst hat? Oder springt der µC aus der Timer-Routine in die INT0 ohne diese fertig durchlaufen zu haben?

Vielen Dank

Michl

zumgwadrad
02.07.2007, 14:31
Hi,
bei einer Interruptausführung werden andere Interrupts gesperrt!
treffen während der Ausführung andere Interrupts ein dann wird der erste eintreffende gespeichert und im Anschluss ausgeführt! Weitere eintreffende Interrupts gehen verloren!
Es ist allgemein ratsam die ISR so kurz wie möglich zu halten, also nur setzen einer variable welche dann nach verlassen der ISR ir´gendeine Funktion oder sonstiges aufruft!
Viel Spass noch