Forum: Mikrocontroller und Digitale Elektronik Atmega8 Interrupt


von Sebastian O. (Firma: nA) (zapp)


Lesenswert?

schnelle frage, bin mir grad ein wenig unsicher, wenn ich einen Atmega8 
in den  IDLE Mode schicke, und via Interrupt wieder aufwecke, wo steigt 
er wieder ins Programm ein? Da wo er zum Zeitpunkt des IDLE Eintritts 
gewesen ist, oder am Anfang der Main?

von Marc S. (eurofighter) Benutzerseite


Lesenswert?

da wo er zum zeitpunkt des idle-einritts gewesen ist...alles andere 
würde sehr vieles sehr kompliziert machen ;)

von Falk B. (falk)


Lesenswert?


von AVRFan (Gast)


Lesenswert?

>wenn ich einen Atmega8
>in den  IDLE Mode schicke, und via Interrupt wieder aufwecke, wo steigt
>er wieder ins Programm ein?

Zuerst wird der Interrupt ausgeführt. Nach Rückkehr aus dem 
Interrupthandler wird - bei standardmäßigem Rücksprung (*) aus dem 
Interrupt - mit der Instruktion weitergemacht, die nach dem 'sleep' 
steht.

(*) heißt: Im Interrupthandler findet keine Manipulation der 
Aus-dem-Interrupt-Rücksprungadresse auf dem Stack statt.  Mit einer 
solchen kannst Du natürlich den Rücksprung auf jede gewünschte Adresse 
erfolgen lassen.

von Sebastian O. (Firma: nA) (zapp)


Lesenswert?

das war alles was ich wissen wollte! Danke! ;)

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.