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 ;)
Gast
#783435
>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.
das war alles was ich wissen wollte! Danke! ;)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.