STM32F4 - CAN1 empfängt nichts

OP #3549393
Lesenswert?

Hallo zusammen

Ich bin schon sehr lange auf der Suche, warum der CAN1 auf einem 
STM3240G-EVAL nichts empfängt, bzw. der IRQ gar nie auslöst. Das 
Input-Signal auf dem Port habe ich definitiv. (Mit dem Oszi gemessen).
Das Senden vom Board (TX) funktioniert ohne Probleme.

Die KO Plots zeigen mit CH1 (gelb) das RX vom ST Prozessor, mit CH2 
(blau) das TX vom ST Prozessor.

Kann mir da jemand helfen?

Vielen Dank
Gast #3549680
Lesenswert?

Sieht aus, als wuerde der schon was empfangen. Linkes Bild, blaue Linie 
hat etwa da einen kurzen 0-Puls, wo im CAN-Frame das ACK kommt. Entweder 
Stoerung, oder der uC hat tatsaechlich das CAN-Frame angeguckt, den CRC 
geprueft und CAN-konform geACKt (durch Rezessiv-Bit-Senden).

Ich kenn STM32 nicht gut, aber ich wuerd an Deiner Stelle eher Richtung 
Interrupt-Enable-Problem ermitteln. Mal die Register stattdessen pollen.
OP #3549996
Lesenswert?

Mit dem CAN2 geht es ebenfalls nicht, zusätzlich werden da nur 4 Byte 
verschickt anstatt 8.
Ich drehe langsam durch, das kann doch einfach nicht wahr sein eine 
simple CAN Verbindung herzustellen kann doch wohl nicht so schwer 
sein?!?

Hat jemand dazu eine Lösung oder schon ein BeispielCode, wo ich meinen 
Fehler finden kann?

Danke
Gast #3550057
Lesenswert?

>Ist das so? Hardwaremässig? Denn im Code ist dieser PIN nicht doppelt
>belegt was ich gesehen habe.

PD0 ist D2 beim FSMC und CAN_RX.

>Ich versuche jetzt mal CAN2 zu nutzen, eventuell (hoffentlich)
>funktioniert es damit.

CAN2 beisst sich zum Teil mit dem USB Geraffel;)
OP #3550107
Lesenswert?

Ja im Schaltplan sehe ich es, stimmt, aber im Code ist es deaktiviert 
und die Pegel am PIN habe ich ja, demzufolge sollte doch die CAN 
Schnittstelle trotzdem funktionieren oder liege ich da falsch? Die Pegel 
an PD0 sind ja ok, wie auf dem Oszi Bild zu sehen ist. (Gemessen an 
Jumper JP10 PIN2)
Gast #3550125
Lesenswert?

>Gemessen an Jumper JP10 PIN2

Und der steckt auf Position 2-3?
Wenn du allerdings die Alternate Function vom
CAN1 irgendwo wieder überschreibst kann das Signal
auch direkt am Controllerpin anliegen und trotzdem
passiert nichts.
OP #3551027
Lesenswert?

dummy schrieb:
> Und der steckt auf Position 2-3?

ja er steckt auf 2-3.


Wenn du allerdings die Alternate Function vom
CAN1 irgendwo wieder überschreibst kann das Signal
auch direkt am Controllerpin anliegen und trotzdem
passiert nichts.

Ok, werde ich mal versuche da etwas zu finden, aber Hardwaremässig ist 
somit ausgeschlossen soweit ich das verstehe?

Vielen Dank!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren