CAN Register nimmt keine Werte auf - STM32F4

OP #7496528
Lesenswert?

Hallo zusammen,

ich versuche gerade auf meinem STM32F4 den CAN2 über die GPIOs zum Laufen zu bringen. Tx und Rx Leitungen senden/empfangen und auf dem CAN Bus passiert auch etwas, allerdings nicht so wie ich es konfiguriert habe.

Nach Auslesen des CAN-Bus habe ich bemerkt, dass egal welche ID ich der Nachricht gebe, diese immer bei 0x7FE bleibt und die Daten auch nicht ankommen. Ich konnte das Problem durch Debug auf die Übertragung der Daten in das Mailbox Register zurückführen. Obwohl die Daten richtig in die TxHeader und TxData Variablen eingelesen werden, konnte ich keine Aufnahme der Daten in die benötigten Register beobachten. Das CAN2 SFR TI0R sowie das TIR von der CAN2-Instanz verharren auf einem (vermutlichen) Default-Wert.

Beim Ausführen der Zeile

hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) | pHeader->RTR);

zum Beispiel passiert einfach nichts. Alle Parameter sind aber eigentlich stimmig, habe Adresse und sonst was überprüft. Bei der Recherche habe ich auch gelesen, dass das Problem von einem falsch eingestellten Timer stammen könnte. Hab aber nochmal sichergestellt, dass alles Nötige initialisiert wird und richtig konfiguriert ist.

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe und irgendjemand mir weiterhelfen kann. Im Anhang sind noch ein paar Screenshots von Register und Co.

Danke schonmal.

Angehängte Dateien:

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