mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer0 Interrupt


Autor: bastiz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verwende einen PIC16f877 und möchte an PortB Pin 1 eine LED toggeln
lassen, jeweils 2s Sekunden an, 1 Sekunde aus.
Beim Überlauf des Timer0 wird ein Interrupt ausgelöst der den Pin
entsprechend schaltet.
Nach meiner Logik müsste der Code funktionieren. Das Problem kommt nach
der CarryBit Abfrage.
Nach retfie (siehe Code) müsste der Programmzähler eigentlich wieder
zur Hauptroutine zurückkehren, tut er aber nicht, stattdessen springt
er wieder an Adresse 0x04 und führt die Interrupt Routine nochmal aus.

Hat irgendjemand eine Idee wo das Problem liegen könnte?

Viele Grüße

Basti

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe keine Ahnung vom PIC, aber bei den meisten AVRs müsste man noch
den Stackpointer auf Defaultwert setzen um Interrupts korrekt nutzen zu
können.

...

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.