Moin, ich habe eine Frage zu Hardwareinterrupts bei Atmel µControllern. Bei einem "richtigen" CPU werden bei einem Hardwareinterrupt der Instructionpointer und das Flagregister auf dem STack abgelegt. Bei einem return aus der Interruptroutine werden diese dann wieder vom Stack geladen. Wie ist es bei einem µC? Der AT90S1200 bietet ja beispielsweise Interrpts, besitzt aber keinen (zumindest per Programm erreichbaren) Arbeitsspeicher. Und wie ist es beispielsweise bei dem ATmega8515, der ja Arbeitsspeicher besitzt? Gibt es dort irgendwelche Möglichkeiten an die zwischengespeicherten Werte zu gelangen? Gruß, Jörn
Viele Mikrocontroller (auch die Atmels) überlassen die Sicherung der FLags (SREG) und anderer Register dem Anwender. Das heißt: Der Controller merkt sich lediglich die Rücksprungadresse, sonst nichts. Zum 1200 kannn ich keine Angabe machen, prinzipiell kann man auf den Stack mit PUSH und POP zugreifen. Bei den Atmels mit Speicher über entsprechende Befehle (z.B. LDS), die aktuelle Stackposition ermittelt man mit SPL (SPH). In den Datenblättern sollten genauere Informationen diesbezüglich zu finden sein.
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.