
Silence closes the frame
A Modbus RTU frame carries no length and no end marker. The receiver finds the end by listening for silence of at least three and a half character times, and a pause that long in the wrong place splits or breaks a frame.
One character, eleven bits
An RTU character is eleven bits on the wire: a start bit, eight data bits, a parity bit or a second stop bit, and a stop bit. At 9600 baud that is about 1.146 ms. A request of eight bytes takes about 9.2 ms. The character is the subject of UART and baud rates.
The silence is the framing
The specification separates frames by a silent interval of at least 3.5 character times: 4.01 ms at 9600 baud. A receiver that hears the line quiet for that long decides the frame has ended and checks it. Inside a frame the gap between characters must not exceed 1.5 character times, 1.72 ms at 9600 baud. A longer pause and the receiver discards the frame as incomplete.
So the two faults mirror each other. Two requests sent with less than 3.5 character times between them arrive as one long frame whose check value cannot fit, and both are lost. One request with a pause inside it longer than 1.5 character times is thrown away.
Fast links use fixed values
Above 19200 baud the specification says fixed values should be used: 1.750 ms for the silence and 0.750 ms inside a frame. At 115200 baud the formula would give 0.334 ms, so the fixed value is about five times longer. It is a should, not a must.
Three mechanisms, three jobs
The silence tells the receiver where a frame ends. The check value, a CRC-16, tells it whether the frame arrived intact. The client's response timeout is the client's own wait for an answer, and nothing on the wire carries it. A second or more is typical at 9600 baud, and after a broadcast the client waits a turnaround delay of 100 to 200 ms instead.
A frame with the right silence and no check value is ignored.
Common mistakes
- Sending the next request too soon. Start the next frame before 3.5 character times have passed and the two glue together. Leave the full silence.
- Pausing inside a frame. Software that writes a request a few bytes at a time, with delays between, breaks the 1.5 character rule. Hand the UART the whole frame in one call.
- Mixing up the timeout and the silence. One is on the wire and ends a frame. The other lives in the client and ends the wait.
Edit this page — content/fundamentals/rs485-modbus/silence-closes-the-frame.mdx
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.