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!
mein Frauchen rätselt auch immer, was auf meinem Stack liegt... ...und ihre Glaskugel habe ich verbuddelt.... wuff.
Halt mal die Webcam an Deinen Kopf, damit wir hinein sehen können. Peter
Hast Du das Datenblatt des Prozessors gelesen? Steht garantiert drinn!
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.
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!
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.
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...)
> 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.
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.
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.