UART (Universal Asynchronous Reciever Transmitter) is a serial communication protocol used to transfer data from sender to reciever. It is most widely used in microcontroller, for programming the microcontroller and transfering data form one microcontroller to another. Some sensors also uses UART protocol for sending the data to microcontroller.
In UART protocol, the message is sent or received in blocks which is also called frame. The frame has additional bits with the message for the sucessful communication. The basic UART protocol has a start bit, a stop bit and data bits. The data bits may contains 5-bit,6-bit,7-bit or 8-bit as shown below.
If the sender wants to send the data, it first sends the start bit, then data bit and then stop bit. If the start bit is logic 0, idle state of the wire will be logic 1. If there is no communication, the transmitter wire will be in logic 1 state. In this case receiver knows that there is no data is coming. Since it is the asynchronous communication, receiver checks if state is changed or not. If the sender sends the message, the transmitter should change the state from 1 to 0. In this case, the receiver knows the data is coming and it starts the sampling of the data. This is how asynchronous communication is done.