Hallo Cortex freaks, ich betreibe einen STM32F405 Cortex M4 von ST, bei dem möchte (muß :-/ ) ich den USART mit 600Baud betreiben. Das funzt nicht. Nach diesem Abend fummeln habe ich rausgefunden: Die USARTs werden mit der clock aus dem 'peripherel bus'betrieben, der läuft bei mir offensichtlich mit ca. 2.62MHz. Ich kann als fractional Divider maximal 65536/16=4096 einstellen. 2.62MHz/4096 ~ 640Baud, Mist, knapp vorbei. Frage: Gibts für die USARTs noch einen Vorteiler, den ich nicht gefunden habe, so dass ich weiter runterkomme? Wie kann ich die Frequenz auf diesen Bussen APB1/2 einstellen? Das will ich eigentlich nicht ändern, weil ich dann die ganzen Timer wahrscheinlich auch umstricken muß. Danke Cheers Gute Nacht Detlef
Gast
#4414160
So eine lahme Ausgabe bei so einem Rennpferd, warum dann nicht ein Software UART?
Detlef _. schrieb: > Wie kann ich die Frequenz auf diesen Bussen APB1/2 einstellen? Das will > ich eigentlich nicht ändern, weil ich dann die ganzen Timer > wahrscheinlich auch umstricken muß. Ja was jetzt? Willst du oder willst du nicht? Jedenfalls kann man die APB Takte runterteilen. Oft muss man das sogar, weil die APB Busse nur wesentlich geringere MHz verkraften als die CPU. Und das bei den beiden APB Bussen zudem verschieden ist. Bei deiner Taktrechnung hast du übrigens das 16x oversampling der UART vergessen. Wie das geht: Siehe Reference, unter "Reset and clock control".
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.