Frage zu Interruptaufrufen

Gast #93652
Lesenswert?
• ▲
▼
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
Gast #93653
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.