Zitat Zitat von ePyx Beitrag anzeigen
läuft das Programm ab der Sprungadresse des IRQ weiter und geht ohne reti ( das macht unter anderem der ISR-Block) nicht zurück sondern läuft weiter.
Es ist zwar richtig, dass der TO die ISR vergessen hat, aber so wie Du das beschreibst funktioniert das in der Regel nicht.

Das Verhalten des Programms würde zufällig werden, wenn ein nicht definierter Interrupt wild im Speicher läuft, deshalb werden alle Interrupts ohne ISR auf einen Fehlervektor umgeleitet, welcher dann selbst wieder auf den Resetvektor umleitet. Der µC bekommt also 'nen SW-reset und das ist der Grund, warum die Init's erneut ausgeführt werden.

Findest Du hier unter default Interrupt:
http://www.rn-wissen.de/index.php/Av...ault_Interrupt

Bei anderen C-Compilern dürfte das nicht viel anders sein.