Hallo Zusammen Ich arbeite mit einem STM32f446 nucleo Board. Die Clocks habe ich folgendermassen eingestellt: HCLK 180 MHz APB1 45 MHz APB2 90 MHz Clocks sind getestet und funktionieren! Ich verwende den CAN1, welcher am APB1 ist, also Frequenz von 45 MHz. Ich will nun den CAN auf 500 kbit/s eibstellen. CAN prescaler ist 6 => also noch 7.5 MHz BS1 ist 6, BS2 ist 8, also sollte ich doch bei 500 kbit/s landen. Mein Problem ist nun, dass der CAN mit einem 1 Mbit/s läuft. mach ich einen Überlegungsfehler, oder was ist falsch? Besten Dank für eure Hilfe
Leider hilft der Beitrag auch nicht weiter, weil er mir mit den 500 kbit/s recht gibt. Kann mir niemand weiterhelfen?
Mit einem Programm angelehnt an http://www.cnblogs.com/shangdawei/p/4720637.html bekomme ich: 45 MHz 500 kBaud: Brp 6, tseg1 12, tseg2 2, sample point 86,6 % Dein Sample Point liegt bei 40 %, ausserhalb jeglicher Toleranz. Habe gesendete Paket bei Dir trotz der Einstellung oben wirklich 1 MBaud? Hast Du evt. einen falschem APB1 Teiler?
Sind die oben genannte Werte die "echten" Werte oder die in den Registern eingetragenen Werte? Hier ist ja immer noch ein (-1) im Spiel.
Dein Fehler liegt höchstwahrscheinlich am Code, insb. die Clock (RCC) und CAN-Initialisierung. Du zeigst kein bisschen Code. Finde das Problem.
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.