I2C Control Registers
1785
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Inter-Integrated Circuit (I2C) Module
Table 31-7. I2C Status Register (I2CSTR) Field Descriptions (continued)
Bit
Field
Value
Description
10
XSMT
Transmit shift empty.
This bit is cleared to 0 to indicate that the transmitter has experienced underflow. Underflow occurs
when the transmit shift register is empty and I2CDXR has not been loaded since the last I2CDXR to
transmit shift register transfer. The I2C core logic is waiting for I2CDXR write access.
XSMT is set to 1 as a result of writing to I2CDXR, by resetting the I2C block (nIRS = 0), or by
resetting the device.
In repeat mode, if the I2C in master transmitter mode is holding transfer with XSMT = 0 (that is,
waiting for further action) and the STT or STP bit is set, XSMT is set to 1 by hardware.
0
An underflow has occurred.
1
No underflow has occurred.
9
AAS
Address as slave.
This bit cannot be cleared by writing a 1 to the bit or by reading the I2CIVR register.
0
This bit is cleared by a STOP condition or detection of any address byte that does not match
I2COAR.
1
This bit is set to 1 by the device when it has recognized its own slave address or an address of all
zeros (general call).
8
AD0
Address zero status.
0
A START or STOP condition was detected. No general call was detected.
1
An address of all zeros (general call) was detected.
7-6
Reserved
0
Reads return 0. Writes have no effect.
5
SCD
Stop condition detect interrupt flag.
This bit is set to 1 when the I2C receives or sends a STOP condition.
This bit is cleared to 0 by writing a 1 to this bit or reading the value 0x0006 from I2CIVR.
Writing a 1 to this bit will clear the value 0x0006 from I2CIVR.
0
No STOP condition has been sent or received.
1
A STOP condition has been sent or received.
4
TXRDY
Transmit data ready interrupt flag.
This bit is set to 1 to indicate when data in the transmit data register, I2CDXR, has been copied into
the transmit shift register. This bit can also be polled by the device to indicate when to write the
next transmitted data into the I2CDXR.
Writing a 1 to this bit will set it.
This bit is cleared to 0 and code 0x0005 in I2CIVR is cleared when the I2CDXR is written.
This bit cannot be cleared by reading the I2CIVR register.
0
I2CDXR contains data to transmit.
1
I2CDXR is empty.
3
RXRDY
Receive data ready interrupt flag.
This bit is set to 1 to indicate when the data in the receive shift register has been copied into the
data receive register (I2CDRR). This bit can also be polled by the device to indicate when to read
the received data in the I2CDRR.
Writing a 1 to this bit or reading from I2CDRR will clear this bit, and will also clear code
0x0004 from I2CIVR. This bit cannot be cleared by reading the I2CIVR register.
0
The I2CDRR has been read.
1
The received data has been written into the I2CDRR.