Inter-integrated circuit (I2C) interface RM0453
1072/1450 RM0453 Rev 5
Note: The START bit is reset by hardware when the slave address is sent on the bus, whatever
the received acknowledge value. The START bit is also reset by hardware if an arbitration
loss occurs.
In 10-bit addressing mode, when the slave address first 7 bits are NACKed by the slave, the
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 290. Master initialization flow
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 second byte + REStart
+ Slave address 10-bit header Read
Figure 291. 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 PADATA
Slave address
2nd byte
Slave address
1st 7 bits
SrA2A1 R/WR/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