UART RX overrun at specific condition
Hello again!
I've got (another) weird problem working with both H743 and H750 (rev X and rev V). Here is my setup:
SYSCLK = 400 MHz (from HSI RC)
UART8 = 100 MHz, Async mode, only RX/TX, 19200-8-1-N
USART1 = 100 MHz, Async mode, only RX/TX, 19200-8-1-N
USART6 = 100 MHz, Async mode, only RX/TX, 9600-8-1-N
Init and Transmission using HAL 1.4.0
Reception using IRQHandler (verifying RXNE bit, getting RDR register to a rotation buffer)
Preemption 1 for each UART and Sub as 0, 1 and 2
USART1 and USART6 always TX around 10 bytes each 1 second, in this test, no RX.
UART8 can TX and RX up to 1500 bytes to/from a PC, in a single shot
Everything works fine with UART8 sending 1500 bytes and receiving around 100 bytes. But increasing the PC package, gives me an overrun error (ORE bit). Even with FIFO enabled (and a "while" in IRQ checking RXNE bit), the overrun occurs.
So here comes the odd behavior:
1) Setting UART8 baudrate to 115200 bps, still sets ORE, but fewer times than 9600;
2) Setting UART8 baudrate to 9600 bps, no ORE even for 1500 bytes from PC;
3) Setting UART8 baudrate to 19200 bps and setting USART1 baudrate to 9600 bps, no ORE even for 1500 bytes from PC;
4) Setting UART8 baudrate to 9600 bps and setting USART1 baudrate to 9600 bps, ORE for any big package.
As you can see, somehow, the USART1 baudrate is affecting UART8 reception. I also tried to give each UART a different preemption, even checked registers from both and nothing wrong!
Is anyone here with the same issue? Or can simulate on a dev kit?
Thanks again!
