Skip to main content
HDaji.1
Senior
April 8, 2022
Question

F411RE USART2: Cannot Achieve 3M Baud Rate

  • April 8, 2022
  • 3 replies
  • 2849 views

I am testing F411RE Nucleo USART speed.

Sample code is: STM32Cube_FW_F4_V1.26.0\Projects\STM32F411RE-Nucleo\Examples_LL\USART\USART_Communication_TxRx_DMA

At PC side, I am using Putty as serial receiver.

So far, the highest working baud rate is slightly more than 2M; however, the data sheet for STM32F411xC and STM32F411xE claims at least 3M.

0693W00000LxJHXQA3.pngAnything I can do to the code to achieve that?

This topic has been closed for replies.

3 replies

Tesla DeLorean
Guru
April 8, 2022

You ability to hit 3Mbaud exactly would require you to run the bus at 48 MHz, and CPU at 96 MHz, not 100 MHz

The higher the rate, the larger the potential error due to the way the divider works.

Also be aware that most RS232 level shifters frequently have a bandwidth of 1 Mbaud.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
TDK
Super User
April 8, 2022

> At PC side, I am using Putty as serial receiver.

Do you if the PC side support 3MBaud? Most UART to USB chips top out support at around 1 MBaud.

Getting a logic analyzer on the RX and TX lines would confirm.

Also need to ensure the clock source is stable (i.e. use HSE) and that the chosen baud rate is compatible with your clock rate (i.e. an integer multiple or otherwise within tolerance limits).

"If you feel a post has answered your question, please click ""Accept as Solution""."
HDaji.1
HDaji.1Author
Senior
April 8, 2022

yes, PC side supports, which I have verified with another device.

TDK
Super User
April 8, 2022
My guess is a clock issue then.
I use 5 MBaud on the STM32F4 without issue.
"If you feel a post has answered your question, please click ""Accept as Solution""."
S.Ma
Principal
April 9, 2022

What is tge clock source tolerance, and how does it fares with baudrate spread?

HDaji.1
HDaji.1Author
Senior
April 10, 2022

Sorry, I don't get the point of your question?