
Rev. 1.00
404 of 486
July 31, 2018
32-Bit Arm
®
Cortex
®
-M0+ MCU
HT32F50231/HT32F50241
19 Inter-Integrated Circuit (I2C)
19 Inter-Integrated Circuit (I2C)
Conditions of Holding SCL Line
The following conditions will cause the SCL line to be held at a logic low state by hardware
resulting in all the I
2
C transfers being stopped. Data transfer will be continued after the creating
conditions are eliminated.
Table 43. Conditions of Holding SCL line
Type
Condition
Description
Eliminated
Flag
TXDE
I
2
C is used in transmitted mode and I2CDR register
needs to have data to transmit.
(Note: TXDE won’t be assert after receiving a NACK)
Master case:
Writing data to I2CDR register
Set TAR
Set STOP
Slave case:
Writing data to I2CDR register
GCS
I
2
C is addressed as slave through general call
Reading I2CSR register
ADRS
Master:
I
2
C is sent over address frame and is returned an
ACK from slave
(Note: Reference Fig.147 and Fig.148)
Slave:
I
2
C is addressed as slave device
(Note: Reference Fig.149 and Fig.150)
Reading I2CSR register
STA
Master sends a START signal
Reading I2CSR register
RXBF
Received a complete new data and meanwhile the
RXDNE flag has been set already before.
Reading I2CDR register
Event
Master receives NACK
No matter in address or data frame, once received a
NACK signal will hold SCL line in master mode.
Set TAR
Set STOP
Master sends NACK used
in receive mode
Occurred when receiving the last data byte in Master
receive mode
(Note: Reference Fig.148, and RXNACK flag won’t be
asserted in this case)
Set TAR
Set STOP