Hallo, ich habe ein Problem mit dem CAN-Bus. Ich habe zwei STM32 Controller mittels CAN verbunden. Die Daten werden von STM32-1 an STM32-2 gesenden. STM32-2 empfängt die Daten auch ohne Probleme und die Daten sind ok, nur setzt der Sender (STM32-1) immer ein Acknowledgment Error .. egal ob STM32-2 (also der Empfänger) dran ist oder nicht. Beide enden sind mit 120Ohm abgeschlossen, Transferrate liegt bei 100kBit und wie gesagt die Daten an sich sind ok. Wenn ich STM32-1 jetzt in LocalLoop Mode setzte, also intern wird der CAN-TX Pin an den CAN-RX Pin geschaltet, CAN-TX wird aber trotzdem ausgegeben, dann ist der Fehler weg und STM32-2 empfängt die DAten trotzdem ordentlich. Hat einer ne Idee? Danke!!
hmmm, ist doch ganz einfach: der sendende CAN-Knoten muss seine Daten und auch das ACK richtig enpfangen. Aber anscheinend empfängt er das ACK nicht richtig (oder garnichts). Wie sieht denn deine Busankopplung aus? Servus, Helmut.
Ist STM32-2 vielleicht im Listen-Only Modus? Es ist seine Aufgabe das Acknowledge-Bit dominant zu setzen, wenn wenn er die Nachricht korrekt empfangen hat. Im LocalLoop Modus (kenne ich nicht) scheint das ja der Sender selber zu machen, was aber nicht die Idee dahinter 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.