Chapter 9. Serial Ports

Yet all experience is an arch wherethro’ Gleams that untravell’d world whose margin fades For ever and for ever when I move.

Tennyson, “Ulysses”

In this chapter, we’ll look at connecting your embedded systems to the outside world through the ubiquitous serial port. We’ll see how you implement the classic serial port, RS-232C, and even take a look at how you can power your embedded system through an RS-232C port. From there, we’ll take a look at the more robust RS-422, designed for faster data rates over longer distances. Finally, we’ll look at RS-485, an extension of RS-422 designed for low-cost networking of embedded computers.

We’ll start our examination of serial interfaces by looking at the engine that drives it all.


Serial I/O involves the transfer of data over a single wire for each direction. All serial interfaces convert parallel data to a serial bit stream, and vice versa. Serial communication is employed when it is not practical, either in physical or cost terms, to move data in parallel between systems. Such serial communication may be between a computer and a terminal or printer, the infrared beamings of a Palm computer or remote control, or, in more advanced forms, high-speed network communication such as Ethernet. For embedded computers, a simple serial interface is the easiest and cheapest way to connect to a host computer, either as part of the application or merely for debugging purposes.

The simplest form of serial interface is that ...

Get Designing Embedded Hardware, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.