Forum: Mikrocontroller und Digitale Elektronik PIC24F32KA302 Interrupt springt zurück ins Nirvana.


von Andreas B. (biosniper)


Lesenswert?

Wie der Betreff schon sagt, er ruft den ISR auf, wenn ich das Programm 
mit dem Softwaresimulator (MPLAB XC16) debugge, wenn er zum Ende kommt 
("}"), dann sagt er: No source code lines were found at current PC 
0x469e.

Diese Adresse liegt viel weiter unten im Programm, wo genau weiss ich 
nicht.

Er springt also (vermute ich) irgendwo hin zurück, aber nicht zur 
aufrufenden Programmzeile aus der er gekommen ist.

Ich denke, dass es an meiner ersten Zeile der Interruptroutine liegt, 
aber ich finde einfach kein brauchbares Programmbeispiel. Eigentlich 
müsste es richtig sein, wobei ich nicht weiss, was das auto_psv genau 
soll (irgendwas mit PSVPAG Register), und weshalb man in einer 
Hochsprache mit sowas belästigt wird.

Das ist die Int-Routine:
1
void __attribute__((__interrupt__, auto_psv)) _T5Interrupt(void)
2
{
3
  if (tmrPrellMENUE != 0) tmrPrellMENUE--;
4
  IFS1bits.T5IF = 0;        //TMR5-IF löschen.
5
} //<- Hier kommt die Fehlermeldung !!!

Vergessen DANKE zu schreiben.

von Andreas B. (biosniper)


Lesenswert?

Hat sich erledigt, es war kein Fehler.

Er sprang aus einer Warteroutine (__delay32(x)) in die Int Routine. Ich 
hätte den Debugger nur viel länger laufen lassen müssen.

Ja, Asche auf mein Haupt.

von Bronco (Gast)


Lesenswert?

Stackproblem?
Schau mal in Dein Map-File, wo der Stack liegt und ob das in Ordnung 
ist.

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.