UART driver
Low-level serial communication provides the transport foundation for the protocol implementation.
A complete slave device developed from first principles: UART driver, Modbus RTU stack, command processing, frame validation, and reliable communication over RS485.
Rather than relying on a prebuilt stack, this project implements the communication path from the UART driver upward. Incoming bytes are assembled into frames, validated, decoded, and routed to the correct command behavior before a compliant response is returned.
Building each layer directly made timing, framing, addressing, and error handling visible, turning the protocol specification into working device behavior.
Low-level serial communication provides the transport foundation for the protocol implementation.
Receives, assembles, validates, and interprets Modbus RTU request frames.
Maps validated requests to device operations and constructs the correct slave response.
Tests communication behavior across multiple nodes on the shared RS485 physical layer.
The implementation keeps physical transport, serial I/O, protocol rules, and application behavior separated. That layered structure makes the system easier to reason about, validate, and extend.
Responses return through the same layers in reverse after command execution and frame construction.