UART is asynchronous serial — baud tolerance, FIFO depth, and flow control determine reliability.
Frame: start bit, configured data width/order, optional parity, and stop interval.
Baud mismatch budget depends on frame format, receiver sampling and clock error at both endpoints.
Hardware flow control (RTS/CTS) or software (XON/XOFF).
Simplest async protocol — FIFO and interrupt timing issues appear everywhere.
Some slots must cover characters that can still arrive before the remote sender stops.