
Rev. 1.00
403 of 486
July 31, 2018
32-Bit Arm
®
Cortex
®
-M0+ MCU
HT32F50231/HT32F50241
19 Inter-Integrated Circuit (I2C)
Slave Receiver Mode
Address Frame
The ADRS bit in the I2CSR register is set after the slave device receives the calling address which
matches with the slave device address. After the ADRS bit has been set to 1, it must be cleared to 0
to continue the data transfer process. The ADRS flag is cleared after reading the I2CSR register.
Data Frame
In the slave receiver mode, the data is transmitted from the master device. Once a data byte is
received by the slave device, the RXDNE flag in the I2CSR register is set but it will not hold the
SCL line. However, if the device receives a complete new data byte and the RXDNE bit has been
set to 1, the RXBF bit in the I2CSR register will be set to 1 and the SCL line will be held at a logic
low state. When this situation occurs, data from the I2CDR register should be read to continue the
data transfer process. The RXDNE flag bit can be cleared after reading the I2CDR register.
STOP Condition
When the slave device detects a STOP condition, the STO flag bit in the I2CSR register is set to
indicate that the I
2
C interface transmission is terminated. Reading the I2CSR register can clear the
STO flag bit.
S
Address
A
ADRS
Data1
A
Data2
A
...
DataN
P
BEH1 : cleared by reading I2CSR register
S
Header
A
Data1
A
Data2
A
...
DataN
P
10-bit Slave Receiver
Address
A
ADRS
STO
STO
A
A
BEH1
BEH2
BEH2
BEH2
BEH3
BEH1
BEH2
BEH2
BEH2
BEH3
BEH2 : cleared by reading I2CDR register
BEH3 : cleared by reading I2CSR register
7-bit Slave Receiver
RXDNE
RXDNE
RXDNE
RXDNE
RXDNE
RXDNE
Figure 150. Slave Receiver Timing Diagram