Forum: Mikrocontroller und Digitale Elektronik Timer0 Interrupt


von bastiz (Gast)


Angehängte Dateien:

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

von Hannes L. (hannes)


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.

...

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
Noch kein Account? Hier anmelden.