Hallo Leute! Ich nutze den AT90CAN128 als MCU um Signale auf den CAN-Bus zu schreiben. Problem: Ich sicher mir die aktuelle Konfiguration der CAN-Register im EEPROM, zum Beispiel wenn die Baudrate geändert wurde und konfiguriere bei einem Neustart die Register mit den Werten vom EEPROM. Leider kann ich nach einem Naustart keine CAN-Nachrichten mehr empfangen. Was eigentlich darauf schliessen läßt, dass die Register nicht richtig initialisiert wurden. Ich habe mir die Register auf der USART-Schnittstelle ausgeben lassen und konnte keinen Fehler feststellen. Wo also könnte mein Problem liegen? Etwas kurioses gibt es. Mein Programm läuft im Debugger ohne Fehler! Das hieße, dass es kein Software-Problem ist!? Wieso läuft mein Programm nicht richtig, wenn ich es in die MCU programmiert habe? Vielleicht hat jemand ein Idee oder Erfahrung mit solch einem Problem gemacht. Grüße William
ich kenn den chip nicht... aber wenn du alle register sicherst, kann es sein, das du auch interrupts versuchst zurück zu schreiben? wenn ja, geht das überhaupt???
generell lasse ich interrupts zu. Ich kann zum Biespiel über einen Interrupt auf der USART Daten versenden oder ein Timer-Interrupt wird zugelassen. Einzig der Interrupt für das CAN-Modul wird nicht zugelassen, obwohl das CANGIE (generell interrupt enable register) richtig initialisiert ist! Also sind die Daten richtig ins EEPROM geschrieben worden. Eine andere Idee?
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.