
Inter-integrated circuit (I2C) interface
RM0453
1074/1454
RM0453 Rev 2
master re-launches automatically the slave address transmission until ACK is received. In
this case ADDRCF must be set if a NACK is received from the slave, in order to stop
sending the slave address.
If the I2C is addressed as a slave (ADDR=1) while the START bit is set, the I2C switches to
slave mode and the START bit is cleared.
Note:
The same procedure is applied for a Repeated Start condition. In this case BUSY=1.
Figure 289. Master initialization flowchart
Initialization of a master receiver addressing a 10-bit address slave
•
If the slave address is in 10-bit format, the user can choose to send the complete read
sequence by clearing the HEAD10R bit in the I2C_CR2 register. In this case the master
automatically sends the following complete sequence after the START bit is set:
(Re)Start + Slave address 10-bit header Write + Slave address 2nd byte + R
Slave address 10-bit header Read
Figure 290. 10-bit address read access with HEAD10R=0
MS19859V2
Initial settings
Master
initialization
Enable interrupts and/or DMA in I2C_CR1
End
MSv41066V1
DATA
A
P
A
DATA
Slave address
2nd byte
Slave address
1st 7 bits
Sr
A2
A1
R/W
R/W
Slave address
1st 7 bits
S
A3
1 1 1 1 0 X X
1
1 1 1 1 0 X X
0
Write
Read