Forum: Mikrocontroller und Digitale Elektronik STM32F4 Discovery CAN Übertragungsrate Systemclock


von Peter P. (Gast)


Lesenswert?

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?

von Peter (Gast)


Lesenswert?

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.

von Peter P. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.