UART with byte stream gets overrun error
Hello,
I worked till now with H7 (stm32h743) and UARTs and had no issues at all.
But recently I needed to port the project to L4 (stm32L496).
For some reason UART now behaves differently:
With polling there is no issue, but with interrupt or dma:
- As long as I try to read into buffer the expected number of bytes it works well.
- But if I do the receiving of bytes in slice (for example expecting 1024 bytes in slices of 64 bytes), I always get overrun error, even if I just doo HAL_delay(0), between each slice read.
- I also get the same behavior when receiving bytes in DMA in circular mode.
The strange thing is that with H7 I never got this behaviour.
Is it related to cpu clock cycles , cache enable/disable , or some fifo which exist in H7 and doesn't exist in L4 ?
Thank you,
and wishing good health to anyone out there (or IN there) in ST community,
ranran
