www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was liegt beim Interrupt auf dem Stack?


Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bins nochmal :-)
Momentan versuche ich rauszufinden, was passiert, wenn eine ISR 
aufgerufen wird. Meine Experimente haben ergeben, dass der Stackpointer 
dabei um 4 schrumpft, also beim aufrufen des Interrupts 4 Byte gesichert 
werden.

Kann mir vieleicht jemand sagen, welche das sind? (und in welcher 
Reihenfolge?).
Das einzige was mir spontan einfällt wäre die Rücksprungadresse. Aber 
die braucht ja nun keine 4 Byte....


Danke!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und den Controller dürfen wir erraten?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Controller?
Compiler?
.... ?

Autor: wuffi, der Dobermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein Frauchen rätselt auch immer, was auf meinem Stack liegt...

...und ihre Glaskugel habe ich verbuddelt....

wuff.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Prozessor?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halt mal die Webcam an Deinen Kopf, damit wir hinein sehen können.


Peter

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das Datenblatt des Prozessors gelesen?
Steht garantiert drinn!

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Konrad wrote:
> Ich bins nochmal :-)
> Momentan versuche ich rauszufinden, was passiert, wenn eine ISR
> aufgerufen wird. Meine Experimente haben ergeben, dass der Stackpointer
> dabei um 4 schrumpft, also beim aufrufen des Interrupts 4 Byte gesichert
> werden.
>
> Kann mir vieleicht jemand sagen, welche das sind? (und in welcher
> Reihenfolge?).
Schau Dir einfach das Assembler-Listing an. Da steht, welche Register 
zusätzlich gesichert werden.

> Das einzige was mir spontan einfällt wäre die Rücksprungadresse. Aber
> die braucht ja nun keine 4 Byte....
Die Rücksprungadresse braucht, je nach Controller (ich gehe mal davon 
aus, dass Du AVRs meinst), 2 oder 3 Bytes. Zusätzlich wird i.d.R. das 
SREG (Statusrtegister) gesichert. Und der Compiler muss von Fall zu Fall 
entscheiden, welche von ihm verwendeten Register kritische Werte 
enthalten, die dann zusätzlich gesichert werden müssen. 4 Bytes sind da 
noch wenig.

Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn kein Controller genannt ist, geht es doch meistens um einen 
ATMegaXXX ;-)

Sorry, habe ich ganz vergssen, weil ich seid eh und je nur mit ATMega16 
arbeite. Da kann man schonmal vergessen, dasses auch noch andere µCs 
gibt!

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Konrad wrote:
> Wenn kein Controller genannt ist, geht es doch meistens um einen
> ATMegaXXX ;-)
Da würd ich mal behaupten, dass fast genau so viele Beiträge sich mit 
ATTinyXXX befassen! OK, PICs, 8051er u.ä. sind hier weniger verbreitet, 
ARM mit steigender Tendenz...

> Sorry, habe ich ganz vergssen, weil ich seid eh und je nur mit ATMega16
> arbeite. Da kann man schonmal vergessen, dasses auch noch andere µCs
> gibt!
Ist schon OK, passiert schon mal... Nur in Zukunft dran denken.

Autor: Konrad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man nicht direkt beim Anlegen eines neuen Topics darauf bestehen, 
dass der Autor aus einer Dropdownliste den verwendeten µC wählt?
Damit wäre dieses Ärgernis aus der Welt geschafft ;-)
Außerdem könnte man dann direkt in der Themenliste bei der 
Forenübersicht anzeigen, um welchen µC es geht, bzw. danach sortieren 
oder suchen...

(nur mal als Anregung, keine Ahnung ob das Sinn macht...)

Autor: nop(); (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gab's doch eine Application note : AVRs und Interrupts oder so.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Könnte man nicht direkt beim Anlegen eines neuen Topics darauf bestehen,
> dass der Autor aus einer Dropdownliste den verwendeten µC wählt?

Die Forumstechnik hier stammt eh aus der Internet-Steinzeit.

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die ersten 5 Antworten auf ein posting nach dem Prozessortyp fragen 
und der poster das dann immer noch nicht mitkriegt, sehe ich das mehr 
als ein Problem des posters als ein Problem der Forumstechnik.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
offtopic
Nimmt hier im Forum immer mehr zu

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.