Forum: Mikrocontroller und Digitale Elektronik Interrupt Problem bei PIC18F4580


von Tim Losereith (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein Problem mit dem PORTB Interrupt an einem PIC18F4580. Als
Compiler verwende ich den C18.
Im Simulator läuft der Code so wie soll, nur auf dem Demoboard springt
der Controller nicht in die Interrupt Service Routine.
Hab ich ein Register falsch gesetzt?
Code ist im Anhang

von ElMachel (Gast)


Lesenswert?

Hallo,

ist es Absicht, dass du in MyHighISR
PORTD = 0xff;
schreibst. Ich glaube nämlich das du eigentlich PORTB meinst.

gruß

Christian

von Tim Losereith (Gast)


Lesenswert?

Ja das ist Absicht. An PortD hängen LEDs, mit denen ich sichtbar machen
möchte, wann der Controller in der ISR ist.

von ElMachel (Gast)


Lesenswert?

Ok,
mit PICs mit ich leider noch nicht so bewandert, aber kann es
vielleicht daran liegen, dass du die PORTB Interrupt Priorität als
Hight defniert hast, aber er im Code  mit

#pragma interruptlow MyHighISR

gekennzeichnet ist?

Gruß
Christian

von Tim Losereith (Gast)


Angehängte Dateien:

Lesenswert?

Nein daran liegt es auch nicht. Der Name spielt keine Rolle. Ich habe
den Quelltext trotzdem geändert.
Das verwunderliche ist doch, dass im MPLAB SIM alles funktioniert und
auf dem Board dagegen nix geht.

von Milchknilch (Gast)


Lesenswert?

Hast du überprüft ob der Pin auch wirklich gezogen wird?
Ich verwende hier den gleichen Pic und der Interrupt funktioniert
problemlos.

von Tim Losereith (Gast)


Lesenswert?

Der PIN wird auf Low gezogen. Ich hab es mit einem Oszi überprüft. Hast
du meinen Code getestet?

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.