It provides both synchronous and asynchronous communication modes. It operates as a
Universal Asynchronous Receiver and Transmitter (UART) in three full-duplex modes
(Modes 1, 2 and 3). Asynchronous transmission and reception can occur simultaneously
and at different baud rates.
It is also receive-buffered, meaning it can commence reception of a second byte before
a previously received byte has been read from the receive register. (However, if the first
byte still hasn’t been read by the time reception of the second byte is complete, one of
the bytes will be lost). The serial port receive and transmit registers are both accessed
at Special Function Register SBUF. Writing to SBUF loads the transmit register, and
reading SBUF accesses a physically second receive register.