Moin zusammen, ich versuche derzeit die CAN-FD-Schnittstelle von meinem STM32H745-DISCO zu konfigurieren und scheitere an der Konfiguration der Filter. In meinem Code wähle ich derzeit einen Identifier aus, dessen Signal ich über einen Callback in FIFO0 schreiben und zur Kontrolle über USART ausgegeben möchte. Ich habe schon zwei Versuche gestartet, die beiden damit geendet sind, dass nicht nur der einen Identifier, sondern alle Identifier den Callback auslösen. Dies geschieht sowohl im Internal-Loopback-Mode, als auch am Motor-CAN, den ich letztlich auslesen möchte. Anbei findet ihr den Code incl. CAN-Konfiguration am Beispiel des Internal-Loopbacks. Fällt euch ein Fehler auf? Danke im Voraus und Grüße
der erste Fehler ist C-Quellcode nicht mit der Dateieindung .c hochzuladen.
Kann man da vielleicht alle Registers dumpen? HAL ist zwar schon, aber wenn da etwas nicht tut, dann einfach sich die Registers angucken und versuchen zu verstehen ob alles so konfiguriert ist wie man es erwarten würden. Also Registers dumpen und mit den Datenblatt vergleichen was da nicht ok ist. Den Dump auch hier posten, damit wir auch das Ding angucken können.
Andras H. schrieb: > > Also Registers dumpen und mit den Datenblatt vergleichen was da nicht ok > ist. Den Dump auch hier posten, damit wir auch das Ding angucken können. Beim MCAN liegt viel im Message-Ram. Da kommst du mit der Methode nur begrenzt weiter. Da der Empfang aber prinzipiell funktioniert, reduziert sich auch die Anzahl der Register, die zu prüfen sind. Der Rest ist dann mühsam (Filterlisten).
Ich würde mal nach dem FDCAN_GFC Register schauen. Resetvalue 0 bedeutet scheinbar, dass ausgefilterte Nachrichten in der Fifo0 empfangen werden sollen. (ANFS) Ich nutze die HAL nicht. Daher kann ich nicht sagen, ob diese den Wert automatisch setzt.
Moin zusammen, vielen Dank erstmal für die Ratschläge. Das Problem ist nun gelöst, leider weiß ich nicht so recht, wo das Problem nun lag. Ich hab mein Projekt in CubeIDE neu aufgesetzt, hab den Code erneut eingetippt und siehe da, die Filter funktionieren. Eigentlich ist alles identisch zu vorher. Ich habe mir zuvor auch das FDCAN_GFC Register angeschaut und mit dem verglichen, was ich anhand des Manuals erwarten würde bzw. müsste. Hier gab es keine Auffälligkeiten, die Std-ID-Messages müssten, wenn Sie nicht vom Filter erfasst werden, abgelehnt werden. Nunja, jetzt funktionierts. Vielen Dank nochmal, insbesondere auch an @steffen_rose.
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.