Skip to main content

RS-232C handshaking signals

Short answer

TXD carries data from DTE to DCE, RXD carries data from DCE to DTE. RTS requests to send, CTS grants permission; DTR indicates DTE ready, DSR indicates DCE ready, providing hardware flow control.

Describe the functions of the RS-232C signals used in handshaking (DSR, DTR, RTS, CTS, TXD, RXD).

RS-232C connects a DTE (data terminal equipment, e.g. computer) to a DCE (data communication equipment, e.g. modem). Handshaking signals control the flow so that data is sent only when the other side is ready.

SignalDB-25 pinDB-9 pinDirection (from DTE)Function
TXD23OutputTransmitted data, serial data from DTE to DCE
RXD32InputReceived data, serial data from DCE to DTE
RTS47OutputRequest To Send: DTE asks DCE for permission to send
CTS58InputClear To Send: DCE is ready to receive; DTE may send
DSR66InputData Set Ready: DCE is powered on and ready
DTR204OutputData Terminal Ready: DTE is ready to communicate
GND75-Signal ground

Handshake sequence (DTE sending to a modem)

  1. DTE raises DTR; DCE raises DSR (both ready).
  2. DTE raises RTS to request to send.
  3. DCE (when it can accept data) raises CTS.
  4. DTE sends data on TXD; data coming from the DCE arrives on RXD.
  5. After sending, DTE drops RTS and DCE drops CTS.
 DTE                     DCE
 DTR (20) ------------>  DTR   : "I am ready"
 DSR (6)  <------------  DSR   : "I am ready"
 RTS (4)  ------------>  RTS   : "may I send?"
 CTS (5)  <------------  CTS   : "yes, send"
 TXD (2)  ------------>  data
 RXD (3)  <------------  data

Hardware flow control (RTS/CTS) prevents buffer overflow when a device is slower than the sender.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 3 questions →