Master Serial Communication: From Basics to RS232, RS422, and RS485
This article explains the fundamentals of serial versus parallel communication, details simplex, half‑duplex and full‑duplex modes, and provides in‑depth coverage of RS232, RS422, and RS485 standards, including physical connectors, baud rates, data framing, and practical wiring examples for embedded systems.
Serial vs Parallel Communication
Serial communication transmits data one bit at a time over a single pair of wires (one for transmit, one for receive). Although the bit‑wise transfer is slower than parallel byte‑wise transfer, it requires far fewer physical conductors and is therefore the basis of most modern interfaces such as RS‑232, RS‑422, RS‑485, USB, I²C and SPI.
Serial Port Communication Modes
Simplex : data flows in only one direction (e.g., a transmitter to a receiver).
Half‑duplex : the same pair of wires can carry data in both directions, but only one direction at a time; the link switches between transmit and receive modes.
Full‑duplex : separate transmit and receive lines allow simultaneous bidirectional communication.
Serial Communication Protocol Families
Early serial links used simple analog signalling. The introduction of the RS‑232 standard provided a point‑to‑point digital interface, which later evolved into RS‑422 and RS‑485 to support differential signalling, higher data rates, longer distances and multi‑node topologies.
RS232 Detailed Overview
Basic Characteristics
RS‑232 is an EIA‑standard serial interface that defines voltage levels, connector pin‑outs and signalling conventions to ensure cross‑vendor compatibility.
Physical Connector
The most common connector is a 9‑pin D‑sub (DB9). Typical pin assignments are:
Pin 1 – DCD (Data Carrier Detect)
Pin 2 – RXD (Receive Data)
Pin 3 – TXD (Transmit Data)
Pin 4 – DTR (Data Terminal Ready)
Pin 5 – GND (Signal Ground)
Pin 6 – DSR (Data Set Ready)
Pin 7 – RTS (Request To Send)
Pin 8 – CTS (Clear To Send)
Pin 9 – RI (Ring Indicator)Signal Crossing
For a proper link the TXD of one device connects to the RXD of the opposite device, and vice‑versa. Consequently a DB9 male on one side mates with a DB9 female on the other side with opposite pin mapping.
Baud Rates
Common RS‑232 baud rates are 300, 1 200, 2 400, 9 600, 19 200, 38 400, 115 200 and 230 400 baud. Higher rates reduce the maximum cable length; a typical trade‑off is shown in the RS‑232 distance‑vs‑baud‑rate tables.
Data Frame Structure
A serial data frame (character) consists of:
Start bit – a single logic 0 that synchronises the receiver.
Data bits – usually 7 or 8 bits, transmitted LSB first.
Parity bit – optional, used for odd or even parity error checking.
Stop bits – 1, 1.5 or 2 bits of logic 1 indicating the end of the character.
Idle (mark) level – continuous logic 1 between characters.
Voltage Levels and TTL Conversion
RS‑232 uses bipolar voltages of –3 V to –15 V for a logical 1 (mark) and +3 V to +15 V for a logical 0 (space). Microcontroller UARTs operate at TTL levels (0 V–5 V or 0 V–3.3 V). Therefore a level‑shifter IC (e.g., MAX232) is required to translate between RS‑232 and TTL.
// Example connection using MAX232
VCC → 5 V
RS‑232 TXD → MAX232 R1IN
MAX232 R1OUT → MCU RXD (TTL)
RS‑232 RXD → MAX232 T1IN
MAX232 T1OUT → MCU TXD (TTL)RS422 Overview
RS‑422 provides full‑duplex differential signalling over four wires (separate Tx⁺/Tx⁻ and Rx⁺/Rx⁻ pairs). It supports point‑to‑point links up to 10 Mb/s and distances exceeding 1 km. Because each direction has its own pair, RS‑422 cannot be used on a multi‑drop bus.
RS485 Overview
RS‑485 shares the same electrical characteristics as RS‑422 but uses a two‑wire half‑duplex bus (A and B). This allows many nodes to share a single twisted‑pair, making it ideal for industrial fieldbus and multi‑drop networks. Typical termination involves a 120 Ω resistor across the bus at each end.
Example: Vehicle Network Radio Interface (Model J30J‑25)
The J30J‑25 radio module integrates RS‑232, RS‑422 and RS‑485 interfaces on a common connector. The pinout (simplified) is:
Pin 1 – RS‑232 TXD
Pin 2 – RS‑232 RXD
Pin 3 – RS‑422 TX⁺
Pin 4 – RS‑422 TX⁻
Pin 5 – RS‑422 RX⁺
Pin 6 – RS‑422 RX⁻
Pin 7 – RS‑485 A
Pin 8 – RS‑485 B
Pin 9 – GND
… (additional pins for power and control)Designers can select the appropriate protocol by wiring to the corresponding pins and, when necessary, adding a level‑shifter for RS‑232 to the MCU’s TTL UART.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
