Forum: Mikrocontroller und Digitale Elektronik Probleme mit CAN-Interface des STM32F105


von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade die beiden CAN-Interfaces des STM32F105V8 in Betrieb 
zu nehmen und leider scheitere ich an den Empfangs-Interrupts.

Das Senden von CAN-Messages klappt bei CAN1 problemlos, bei CAN2 
allerdings nur einmal - danach hängt sich das Programm irgendwo auf. 
Leider klappt der Empfang aber bei beiden nicht richtig, die 
Interrupt-Routinen werden nie aufgerufen. An den RX-Pins kommt die 
Nachricht aber an (sehe ich auf dem Logic-Analyzer) und wenn ich meine 
beiden CAN-Transceiver (MCP2551) zusammen schließe, kann ich auch eine 
Nachricht von CAN1 an CAN2 oder umgekehrt senden und bekomme vom 
empfangenden CAN-Interface ein Acknowledge - das Empfangen klappt also 
scheinbar richtig, nur den Interrupt bekomme ich nicht hin.

Ich habe den ganzen CAN-Kram mal in die angehängte Datei kopiert. 
Vielleicht fällt ja noch jemandem was ein.

Danke schonmal.

Chris

von Pierre R. (preuss)


Lesenswert?

Hallo,

ich weiss nicht ob die Frage noch aktuell ist, poste aber mal falls 
jemand auf das gleiche Problem stößt.

Es sieht auf den ersten Blick so aus als wenn du bei dem CAN2 den Filter 
14 für den FIFO1 konfigurierst und auch in der Interruptroutine 
abfragst.
Allerdings erlaubst du mit
1
CAN_ITConfig(CAN2, CAN_IT_FMP0, ENABLE);
 den Interrupt für den FIFO0 und nicht FIFO1. Das müsste vielleicht 
angeglichen werden.

Mfg

P.Reuss

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.