35.6.8.9 Status

Table 35-18. Register Bit Attribute Legend
SymbolDescriptionSymbolDescriptionSymbolDescription
RReadable bitHCCleared by Hardware(Grey cell)Unimplemented
WWritable bitHSSet by HardwareXBit is unknown at Reset
KWrite to clearSSoftware settable bit
Name: STATUS
Offset: 0x1A
Reset: 0x0000
Property: -

Bit 15141312111098 
          
Access  
Reset  
Bit 76543210 
 ITERTXECOLLISFCTSBUFOVFFERRPERR 
Access R/W/HS/KR/W/HS/KR/W/HS/KR/W/HS/KR/HSR/W/HS/KR/W/HS/KR/W/HS/K 
Reset 00000000 

Bit 7 – ITER Maximum Number of Repetitions Reached

This bit is set when the maximum number of NACK repetitions or retransmissions is met based on the CTRLC.MAXITER value.

ValueDescription
0Max. # of iterations not reached.
1Max. # or iterations reached.
Note:
  1. Writing ‘0x0’ to this bit has no effect.
  2. This bit is cleared by writing ‘0x1’ to the bit or by disabling the receiver.
  3. This bit is invalid if CTRLA.FORM ≠ 0x7.
  4. This bit will also set INTFLAG.ERROR = 1. Users must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation. The RX receiver is not disabled on this error.

Bit 6 – TXE Transmitter Empty

When CTRLA.FORM = 0x2 is set to LIN Host mode, this bit is set when any ongoing transmission is complete, and Tx DATA is empty.

ValueDescription
0LIN Host Transmission not complete, transmitter not empty.
1LIN Host Transmission Complete, transmitter empty.
Note:
  1. When CTRLA.FORM ≠ 0x2 not in LIN Host mode, this bit will always read back as zero.
  2. Writing ‘0x0’ to this bit has no effect.
  3. Writing ‘0x1’ to this bit will clear it.

Bit 5 – COLL Collision Detected

This bit is set when collision detection is enabled (CTRLB.COLDEN) and a collision is detected.

ValueDescription
0x0No collisions detected.
0x1Collision detected.
Note: (When CTRLB.COLDEN = 1 and STATUS.COLL=1)
  1. The current transfer in progress is aborted.
  2. The TX transmit buffer and FIFO is flushed.
  3. TX Transmitter is auto disabled in HDW, (CTRLB.TXEN = 0). This is done after a synchronization delay. The CTRLB Synchronization Busy bit (SYNCBUSY.CTRLB) will be set until this is complete. After disabling, the TxD pin will be tri-stated.
  4. Collision Detected bit (STATUS.COLL) along with the Error Interrupt Flag (INTFLAG.ERROR) is set.
  5. Transmit Complete Interrupt Flag, (INTFLAG.TXC), is set since the transmit buffer no longer contains data.
  6. After a collision, software must manually enable the transmitter again before continuing, after assuring that the CTRLB Synchronization Busy bit (SYNCBUSY.CTRLB) is not set.
  7. Writing ‘0x0’ to this bit has no effect.
  8. Writing ‘0x1’ to this bit or by disabling the receiver will clear this bit.
  9. This bit is invalid if CTRLB.COLDEN = 0.
  10. Collision detect usage is confined to CTRLA.FORM = 0x7, ISO 7816 but is also possible for applications utilizing 2-wire RS485 half-duplex arrangements where the external RS485 transceiver Rx and Tx are enabled at the same time to form a loop back.
  11. This bit will also set INTFLAG.ERROR = 1. Users must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation.

Bit 4 – ISF Inconsistent Sync Field

This bit is set when the frame format is set to auto-baud (CTRLA.FORM = 0x4 or 0x5) and a sync field not equal to 0x55 is received.

ValueDescription
0x0No inconsistent sync fields.
0x1Inconsistent sync field received.
Note:
  1. Writing ‘0x0’ to this bit has no effect.
  2. This bit is cleared by writing ‘0x1’ to the bit or by disabling the receiver.
  3. This bit will also set INTFLAG.ERROR = 1. Users must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation. The RX receiver is not disabled on this error.

Bit 3 – CTS Clear to Send

This bit indicates the current logic level of the CTS SERCOM PAD[3] pin when flow control is enabled (CTRLA.TXPO = 0x2).

ValueDescription
0x0CTS low
0x1CTS high
Note: Writing a ‘0’ or ‘1’ to this bit will have no effect.

Bit 2 – BUFOVF Buffer Overflow

This bit is set when a buffer overflow condition is detected. A buffer overflow occurs when the receive buffer is full, there is a new character waiting in the receive shift register and a new incoming start bit is detected. The incoming data will not be stored and lost when BUFOVF = 1, effectively pausing the module until software reads the RX DATA register, (therefore, FIFO if enabled).

Reading this bit before reading the Data register will indicate the error status of the next character to be read.

ValueDescription
0x0No buffer overflow
0x1Buffer overflow (New incoming data will be lost until Rx DATA register read and error flags cleared.)
Note:
  1. See: CTRLA.IBON Immediate Buffer Overflow Notification.
  2. This bit is cleared by writing ‘0x1’ to the bit or by disabling the receiver, CTRLB.RXEN = 0. Disabling the receiver will flush the receive buffer, FIFO if enabled, and clear the FERR, PERR and BUFOVF bits in the STATUS register.
  3. Writing ‘0x0’ to this bit has no effect.
  4. This bit will also set INTFLAG.ERROR = 1. Users must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation. The RX receiver is not disabled on this error.

Bit 1 – FERR Frame Error

This bit is set if the received character had a frame error, (i.e., when the expected first stop bit is a logic zero instead of a logic one. Reading this bit before reading the Data register will indicate the error status of the next character to be read.

ValueDescription
0x0No Frame Errors
0x1Frame Error received
Note:
  1. This bit is cleared by writing ‘0x1’ to the bit or by disabling the receiver CTRLB.RXEN = 0. Disabling the receiver will flush the receive buffer, FIFO if enabled, and clear the FERR, PERR and BUFOVF bits in the STATUS register.
  2. Writing ‘0x0’ to this bit has no effect.
  3. Reception is not paused on a frame error.
  4. This bit will also set INTFLAG.ERROR = 1. User must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation. The RX receiver is not disabled on this error.

Bit 0 – PERR Parity Error

This bit is set if parity checking is enabled (CTRLA.FORM is 0x1, 0x5, or 0x7), and a parity error is detected.

Reading this bit before reading the Data register will indicate the error status of the next character to be read.

ValueDescription
0x0No Parity Errors
0x1Parity Error detected
Note:
  1. This bit is cleared by writing ‘0x1’ to the bit or by disabling the receiver CTRLB.RXEN = 0. Disabling the receiver will flush the receive buffer, FIFO if enabled, and clear the FERR, PERR and BUFOVF bits in the STATUS register.
  2. Writing ‘0x0’ to this bit has no effect.
  3. This bit is only valid if CTRLA.FORM is 0x1, 0x5, or 0x7.
  4. Reception is not paused on a parity error.
  5. This bit will also set INTFLAG.ERROR= 1. Users must take any appropriate actions then clear INTFLAG.ERROR and address and clear any STATUS (ITER, COLL, ISF, BUFOVF, FERR, PERR) bits before resuming normal application operation. The RX receiver is not disabled on this error.
ValueDescription
0No Parity Errors
1Parity Error detected