mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bei Interrupt wird Umgebung nicht gesichert


Autor: Miller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
habe das Problem, dass wenn ein IRQ ausgelöst wird, z.B. mein Register
temp (das dort in der Interruptroutine auch benutzt wird) nicht vorher
gesichert wird und dann zurückgewonnen wird. Denn nach dem Interrupt
ist das Register mit anderem Inhalt gefüllt ....

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
üblicherweise sichert man was man benötigt auf den Stack und holt es
anschliessend wieder da raus (Push und Pop). Da du es ja vorgezogen
hast nix Sachdienliches mit anzugeben, kann man eigentlich keine
näheren Tipps geben.

bye

Frank

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist so üblich.

Interrupts sollen ja schnell sein.

Und da sie nicht wissen können, ob und welche Du Register Du sichern
willst, mußt Du das eben selbst tun.

Da der AVR sehr viel Register hat, ist es effektiver, einfach einige
Register für die Interrupts zu reservieren, statt sie ständig zu pushen
und zu poppen.


Peter

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und nicht vergessen, das SREG zu sichern und wieder zurückzuschreiben
vor verlassen der ISR.

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.