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?
da wo er zum zeitpunkt des idle-einritts gewesen ist...alles andere würde sehr vieles sehr kompliziert machen ;)
>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.
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.