24.5.5 USART Status Register
Name: | STATUS |
Offset: | 0x04 |
Reset: | 0x00 |
Property: | - |
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
RXCIF | TXCIF | DREIF | RXSIF | ISFIF | BDF | WFB | |||
Access | R | R/W | R | R/W | R/W | R/W | R/W | ||
Reset | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Bit 7 – RXCIF USART Receive Complete Interrupt Flag
This flag is set to ‘1
’ when there are unread data
in the receive buffer and cleared when the receive buffer is empty (that is,
does not contain any unread data). When the receiver is disabled the receive
buffer will be flushed and, consequently, the RXCIF bit will become
‘0
’.
When interrupt-driven data reception is used, the receive complete interrupt routine must read the received data from RXDATA in order to clear the RXCIF. If not, a new interrupt will occur directly after the return from the current interrupt.
Bit 6 – TXCIF USART Transmit Complete Interrupt Flag
This flag is set when the entire frame in the Transmit Shift register has been shifted out, and there are no new data in the transmit buffer (TXDATA).
Writing a ‘1
’ to this bit will clear the flag.
Bit 5 – DREIF USART Data Register Empty Flag
This flag indicates if the transmit buffer (TXDATA) is ready to
receive new data. The flag is set to ‘1
’ when the transmit
buffer is empty and is ‘0
’ when the transmit buffer contains
data to be transmitted but has not yet been moved into the Shift register. The
DREIF bit is set after a Reset to indicate that the transmitter is ready. Always
write this bit to ‘0
’ when writing the STATUS register.
DREIF is cleared to ‘0
’ by writing TXDATAL. When
interrupt-driven data transmission is used, the Data Register Empty interrupt
routine must either write new data to TXDATA in order to clear DREIF or disable
the Data Register Empty interrupt. If not, a new interrupt will occur directly
after the return from the current interrupt.
Bit 4 – RXSIF USART Receive Start Interrupt Flag
This flag indicates a valid Start condition on the RxD line. The
flag is set when the system is in Standby Sleep mode and a high (IDLE) to low
(START) valid transition is detected on the RxD line. If the start detection is
not enabled, the RXSIF bit will always read ‘0
’. This flag can
only be cleared by writing a ‘1
’ to its bit location. This flag
is not used in the Master SPI mode operation.
Bit 3 – ISFIF Inconsistent Sync Field Interrupt Flag
This flag is set when the auto-baud is enabled and the Sync Field bit time is too fast or too slow to give a valid baud setting. It will also be set when USART is set to LINAUTO mode, and the SYNC character differ from data value 0x55.
Writing a ‘1
’ to this bit will clear the flag and
bring the USART back to Idle state.
Bit 1 – BDF Break Detected Flag
This flag is intended for USART configured to LINAUTO Receive mode. The break detector has a fixed threshold of 11 bits low for a break to be detected. The BDF bit is set after a valid break and sync character is detected. The bit is automatically cleared when the next data are received. The bit will behave identically when the USART is set to GENAUTO mode. In NORMAL or CLK2X Receive mode, the BDF bit is unused.
This bit is cleared by writing a ‘1
’ to it.
Bit 0 – WFB Wait For Break
Writing this bit to ‘1
’ will register the next low
and high transition on the RxD line as a break character. This can be used to
wait for a break character of arbitrary width. Combined with USART set to
GENAUTO mode, this allows the user to set any BAUD rate through BREAK and SYNC
as long as it falls within the valid range of the USARTn.BAUD register. This bit
will always read ‘0
’.