Skip to main content
YChen.51
Associate II
May 10, 2021
Question

uart3 can't receive entire data

  • May 10, 2021
  • 3 replies
  • 1828 views

Hi All

I used UART3 of STM32F429 to receive data(larger than 10K). If the baudrate is 230400,the RX can receive entire file; But If the baudrate was 460800 or 921600,I can't get the entire file(143111 of 143316 bytes). Anyone can help?

Regards,

This topic has been closed for replies.

3 replies

Javier1
Principal
May 10, 2021

What baudrate did you set in UART3? or are you using automatic baudrate detection?

hit me up in https://www.linkedin.com/in/javiermuñoz/
YChen.51
YChen.51Author
Associate II
May 10, 2021

I used 921600 and 430600,and both wrong....

Ozone
Principal
May 10, 2021

At some point you exhaust your time budget. You can't just raise the baudrate infinitely and expect it to work.

I suppose you get overruns in the interrupt handler.

> But If the baudrate was 460800 or 921600,I can't get the entire file(143111 of 143316 bytes). 

I think there is no way around firing up the debugger and see what actually happens.

Pavel A.
Super User
May 10, 2021

Disable RX overrun detection or receiver side. Some versions of ST library cannot handle it and recover properly. IMHO it's better to disable it at all.

Then use X/Ymodem or other protocol with error correction.

-- pa

Tesla DeLorean
Guru
May 10, 2021

Not sure how much anyone can help with a "not working" situation, and no implementational detail.

Where is the data being stored?

Do you have any kind of flow control?

Perhaps count the bytes lost to overflow, framing, and other errors?

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