

When the receiving UART detects a start bit, it starts to read the incoming bits at a specific frequency known as the baud rate. These bits define the beginning and end of the data packet so the receiving UART knows when to start reading the bits. Instead of a clock signal, the transmitting UART adds start and stop bits to the data packet being transferred. UARTs transmit data asynchronously, which means there is no clock signal to synchronize the output of bits from the transmitting UART to the sampling of bits by the receiving UART.

Data flows from the Tx pin of the transmitting UART to the Rx pin of the receiving UART: Only two wires are needed to transmit data between two UARTs. The transmitting UART converts parallel data from a controlling device like a CPU into serial form, transmits it in serial to the receiving UART, which then converts the serial data back into parallel data for the receiving device. In UART communication, two UARTs communicate directly with each other. One of the best things about UART is that it only uses two wires to transmit data between devices. The principles behind UART are easy to understand, but if you haven’t read part one of this series, Basics of the SPI Communication Protocol, that might be a good place to start. A UART’s main purpose is to transmit and receive serial data. It’s not a communication protocol like SPI and I2C, but a physical circuit in a microcontroller, or a stand-alone IC. UART stands for Universal Asynchronous Receiver/Transmitter.
