- UART is a Full duplex communication interface
- UART is an Asynchronous interface
- UART data speed is measured by baud rate which is defined as number of symbols per second
- Baud Rate is dependent on the clock inside the controller. Stability of the controller is important to get accurate baud rate
- When there is no transmission on the UART line, pins are in HIGH state
- UART communication starts with a START bit which is a LOW bit
- UART internally has a serial register/FIFO to collect the data
- UART frame also includes parity bit indicates the number of HIGH in the data
- There are several registers inside the controller IC to control the UART communication
- UART data is received by the controller using interrupt mechanism. This meant whenever there is data on the UART pins, interrupt shall be raised and controller executed the UART ISR
- If the parity bit is HIGH then the parity is ODD that means there are odd number of HIGH in the data bits
- If the parity bit is LOW then the parity is ODD that means there are odd number of HIGH in the data bits
- LSB of the data (D0) is transmitted first
- UART is for on-board communication
- If we want to use UART for communicating outside the board, RS232 transceiver must be used. An example, RS232 transceiver (MAX232 IC) is as shown below.

