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
Hallo, ist es Absicht, dass du in MyHighISR PORTD = 0xff; schreibst. Ich glaube nämlich das du eigentlich PORTB meinst. gruß Christian
Ja das ist Absicht. An PortD hängen LEDs, mit denen ich sichtbar machen möchte, wann der Controller in der ISR ist.
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
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.
Hast du überprüft ob der Pin auch wirklich gezogen wird? Ich verwende hier den gleichen Pic und der Interrupt funktioniert problemlos.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.