Inter-integrated circuit (I2C) interface
RM0365
789/1080
DocID025202 Rev 7
Note:
The START bit is reset by hardware when the slave address has been 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 is NACKed by the slave, the
master will re-launch 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 when the ADDRCF bit is set.
Note:
The same procedure is applied for a Repeated Start condition. In this case BUSY=1.
Figure 298. 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 299. 10-bit address read access with HEAD10R=0
D^ϭϵϴϱϵsϮ
,QLWLDOVHWWLQJV
0DVWHU
LQLWLDOL]DWLRQ
(QDEOHLQWHUUXSWVDQGRU'0$LQ,&B&5
(QG
D^ǀϰϭϬϲϲsϭ
'$7$
$
3
$
'$7$
6ODYHDGGUHVV
QGE\WH
6ODYHDGGUHVV
VWELWV
6U
$
$
5:
5:
6ODYHDGGUHVV
VWELWV
6
$
;;
;;
:ULWH
5HDG