5.6.1 Universal Synchronous/Asynchronous Serial Receiver and Transmitter (USART)

The PIC16F, PIC18F and PIC32CM MCUs provide highly flexible and robust USART peripherals. All USART variants (EUSART, UART, USART) support buffered communication, interrupt-driven operation, and operation in low-power modes, suitable for a variety of embedded communication needs. Table 5-21 provides a comparison of features between PIC16F, PIC18F and PIC32CM.

Table 5-21. PIC16F, PIC18F and PIC32CM UART Features
FeaturePIC16F EUSARTPIC18F EUSART/UARTPIC32CM SERCOM-USART
Integration

Stand-alone peripherals:

USART

EUSART (Enhanced USART)

Stand-alone peripherals:

USART

EUSART

UART with Protocol Support

Mode in SERCOM (Serial Communications) peripheral
Operation Modes

Full-duplex

Half-duplex

Synchronous/asynchronous

Full-duplex

Half-duplex

Synchronous/asynchronous

Full-duplex

Half-duplex

Synchronous/asynchronous

Protocol/Standard Support

Varies per device family:

RS-232, RS-485

LIN host/client

Varies per device family:

RS-232, RS-485

LIN host/client

IrDA®

DMX

DALI

Varies per device family:

IrDA®

LIN host/client

ISO 7816 (smart card)

RS-485

Buffer/FIFO Up to eight bytes (device-dependent)Up to 16 bytes (device-dependent)16-byte transmit/receive FIFO
Baud Rate Generation (BRG)8-bit or 16-bit BRG16-bit BRG16-bit BRG, internal/external clock
Data Bits 8, 97, 8, 95, 6, 7, 8, 9
Stop Bits1 or 2 bits1, 1.5 or 2 bits1 or 2 bits
ParityThrough firmware using the 9th bitOdd, even, or 9th bit Address DetectionOdd, even, none
Data OrderLSb firstLSb or MSb first

Selectable

LSb or MSb first

Selectable

Flow ControlN/ARequest-to-Send (RTS)

Clear-to-Send (CTS)

RTS

CTS

DMA SupportN/ASupportedSupported
Error Detection

Parity

Overrun

Frame error

Parity

Overrun

Frame error

Checksum

Collision

Parity

Buffer overflow

Frame error

Noise filtering

Collision detection

Sleep Mode OperationSupportedSupported
InterruptsTX/RXTX/RX

Errors

Multiple, including FIFO events
Pin MappingFlexibleFlexible
Baud Rate RangeUp to 1 Mbps (device-dependent)Up to 2 Mbps (device-dependent)Up to 6 Mbps or higher (device-dependent)
Auto-Baud DetectionSupportedSupportedSupported
Event System IntegrationN/AN/ASupported