Hallo, ich versuche gerade etwas mit dem CAN Bus zu spielen. Was auch schon klappt. Nur meine Baudrate bekomme ich nicht eingestellt. Nachdem ich gesehen habe, dass im der system_stm32.h von einem HSE Takt von 25 MHz ausgegangen wird habe ich mir mit dem ClockConf-Tool eine neue system_stm32.c generiert und in der st32f4xx.h #define HSE_VALUE ((uint32_t)25000000) in #define HSE_VALUE ((uint32_t)8000000) geändert. AHB1 Prescaler ist 4 und Can Prescaler 2 CAN_InitStructure.CAN_BS1 = CAN_BS1_14tq; CAN_InitStructure.CAN_BS2 = CAN_BS2_6tq; CAN_InitStructure.CAN_Prescaler = 2; Wenn ich mit den Logicanalyzer schaue, komme ich etwa auf 380 KBps Was mache ich noch falsch?
Keiner ne Idee? Wo könnte denn noch ein Fehler in der takteinstellung sein? Ich habe leider kein Scope mir dem ich so einen hohen Takt an einem Io messen könnte.
So... nach einiger Sucherei habe, könnte ich mich gerade mit Anlauf in den Allerwertesten treten. Wenn man etwas in der system_stm32.h ändert, wäre folgende Zeile in der main.c nicht verkehrt. #include "stm32f4xx.h" jetzt läuft alles.
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.