Datasheet
2017 Microchip Technology Inc. DS60001516A-page 461
SAM9G20
Figure 31-22: Parity Error
31.6.3.10 Multidrop Mode
If the PAR field in the Mode Register (US_MR) is programmed to the value 0x6 or 0x07, the USART runs in Multidrop Mode. This mode
differentiates the data characters and the address characters. Data is transmitted with the parity bit at 0 and addresses are transmitted
with the parity bit at 1.
If the USART is configured in multidrop mode, the receiver sets the PARE parity error bit when the parity bit is high and the transmitter is
able to send a character with the parity bit high when the Control Register is written with the SENDA bit at 1.
To handle parity error, the PARE bit is cleared when the Control Register is written with the bit RSTSTA at 1.
The transmitter sends an address byte (parity bit set) when SENDA is written to US_CR. In this case, the next byte written to US_THR is
transmitted as an address. Any character written in US_THR without having written the command SENDA is transmitted normally with the
parity at 0.
31.6.3.11 Transmitter Timeguard
The timeguard feature enables the USART interface with slow remote devices.
The timeguard function enables the transmitter to insert an idle state on the TXD line between two characters. This idle state actually acts
as a long stop bit.
The duration of the idle state is programmed in the TG field of the Transmitter Timeguard Register (US_TTGR). When this field is pro-
grammed at zero no timeguard is generated. Otherwise, the transmitter holds a high level on TXD after each transmitted byte during the
number of bit periods programmed in TG in addition to the number of stop bits.
As illustrated in Figure 31-23, the behavior of TXRDY and TXEMPTY status bits is modified by the programming of a timeguard. TXRDY
rises only when the start bit of the next character is sent, and thus remains at 0 during the timeguard transmission if a character has been
written in US_THR. TXEMPTY remains low until the timeguard transmission is completed as the timeguard is part of the current character
being transmitted.
D0 D1 D2 D3 D4 D5 D6 D7
RXD
Start
Bit
Bad
Parity
Bit
Stop
Bit
Baud Rate
Clock
Write
US_CR
PARE
RXRDY
RSTSTA = 1