
Inter-integrated circuit (I2C) interface
RM0453
1092/1454
RM0453 Rev 2
Figure 301. Transfer sequence flowchart for SMBus slave receiver N Bytes + PEC
MS19868V2
Slave initialization
SMBus slave
reception
Read I2C_RXDR.RXDATA
I2C_ISR.RXNE =1?
I2C_ISR.TCR = 1?
No
Yes
I2C_ISR.ADDR =
1?
Yes
No
Read ADDCODE and DIR in I2C_ISR
I2C_CR2.NBYTES = 1, RELOAD =1
PECBYTE=1
Set I2C_ICR.ADDRCF
SCL
stretched
Read I2C_RXDR.RXDATA
Program I2C_CR2.NACK = 0
I2C_CR2.NBYTES = 1
N = N - 1
N = 1?
Read I2C_RXDR.RXDATA
Program RELOAD = 0
NACK = 0 and NBYTES = 1
I2C_ISR.RXNE =1?
No
End
No
Yes
Yes