← index #4437Issue #1912
Related · high · value 0.194
QUERY · ISSUE

STM32 UART buffer silent overrun

openby TravisJoeopened 2019-01-28updated 2019-02-12
enhancementport-stm32

Often this issue can be overlooked by making the buffer bigger than worst case scenarios, flow control, or just good planning. However I dislike not knowing a buffer is full and I started to lose data. With at least some hardware buffers the oldest data is pushed out so you retain at least the latest information, but I am finding that the UART buffer just stops filling the buffer once full.

I understand there is probably a lot more to this than what I see on the surface, but it would be good to at least clarify why the buffer is not circular, and why an exception is not thrown.

CANDIDATE · ISSUE

stmhal: UART doesn't override RTS when buffer gets full

closedby dhylandsopened 2016-03-20updated 2016-04-13
ports

Currently (stmhal build) when using RTS HW flow control, the low level RTS signal seems to be behaving properly on a character by character basis. However, there is currently no interaction by the driver when the received buffer becomes full.

The uart driver should override RTS when the receive buffer becomes "full" (by whatever definition of full is appropriate - probably at least a few characters before the actual end of buffer). Once space is freed up in the buffer, then the uart driver should stop overriding RTS and let the HW control it again.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied