Inter-integrated circuit (I2C) interface
34.4.7
Data transfer
The data transfer is managed through transmit and receive data registers and a shift
register.
Reception
The SDA input fills the shift register. After the 8th SCL pulse (when the complete data byte is
received), the shift register is copied into I2C_RXDR register if it is empty (RXNE=0). If
RXNE=1, meaning that the previous received data byte has not yet been read, the SCL line
is stretched low until I2C_RXDR is read. The stretch is inserted between the 8th and 9th
SCL pulse (before the acknowledge pulse).
SCL
Shift register
RXNE
I2C_RXDR
1068/1461
Figure 279. Data reception
xx
data1
data0
RM0453 Rev 1
ACK pulse
ACK pulse
xx
data2
rd data0
rd data1
data1
RM0453
legend:
SCL
stretch
xx
data2
MS19848V1
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?
Questions and answers