Hallo, es geht um einen LPC2148, der bei jedem Timer1-Match-Interrupt den Zustand des Match-Pins wechseln soll. Interrupts werden generiert, allerdings macht der uC nach ein paar Interrupts einen RESET. Ich hab mit ein paar LEDs und Variablen getestet (hab leider keinen Debugger), ob es wirklich ein RESET ist, weil ich vorher die Vermutung gehabt hab, dass er nur zufällig zum Anfang springt. Hat vielleicht jemand eine Vermutung für dieses Verhalten? Danke im vorraus Fabian
Besorg dir einen Debugger, sonst wirst du da mit dem LPC nicht froh werden Möglichkeiten: * Data Abort * Program Abort * nicht implementierte Interruptroutine * Pointer auf Adresse 0x00000 * Stack overflow Das waren mal so die Ursachen die öfter in Frage kommen aber bei weitem nicht alle möglichen Ursachen. Eine genauere Fehlerangabe kann ich dir leider nicht geben da ich meine Kristallkugel verlegt habe...
Danke schonmal für die Antwort. Ich hab auch noch ein interessantes Dokument dazu auf der NXP-Seite entdeckt: http://www.nxp.com/documents/application_note/AN10414.pdf Da steht aber nichts von spontanen Interrupts bei Verwendung der Timer-Interrupts. Ich werd auf jeden Fall heute Abend mal den default-Vector ergänzen und hoffe, dass zumindest das RESET-Problem behoben ist. Danke nochmal für die Hilfe
Hallo, ich verwendete mal in einem Projekt ebenfalls den LPC2148 Timer Interrupt für eine fast identische Aufgabe, aber ein derartiges Verhalten kenne ich nicht! Lass mal deine Interrupt-Routine sehen !!! Gruss Stefan
Ich hab den Code zwar grad nicht hier, aber die Routine sieht in etwa so aus: void __attribute__((interrupt ("IRQ"))) routine(void) { // isr Code T1IR = 0xFF; VICVectAddr = 0; }
Hallo, Fabian K. schrieb: > void __attribute__((interrupt ("IRQ"))) routine(void) > { > // isr Code > > T1IR = 0xFF; > VICVectAddr = 0; > } dagegen kann man nichts sagen. Ich hoffe nur dass sich in > // isr Code nichts verbirgt das an den Interrupts (enable, disable, etc. ...) rumdreht.
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.