GD32W51x User Manual
632
Figure 19-5. I2C communication flow with 7-bit address (Master Transmit)
Start
Slave address
ACK
DATA0
ACK
DATAN
ACK
Stop
……
data transfer (N+1 bytes)
From master to slave
From slave to master
W(0)
Figure 19-6. I2C communication flow with 7-bit address (Master Receive)
Start
Slave address
R(1)
ACK
Stop
……
data transfer (N+1 bytes)
From master to slave
From slave to master
DATA0
ACK
DATAN
NACK
In 10-bit addressing mode, the HEAD10R bit can configured to decide whether the complete
address sequence must be executed, or only the header to be sent. When HEAD10R=0, the
complete 10 bit address read sequence must be excuted with START + header of 10-bit
address in write dir slave address byte 2 + R header of 10-bit address in
read direction, as is shown in
Figure 19-7. I2C communication flow with 10-bit address
(Master Receive when HEAD10R=0)
.
In 10-bit addressing mode, if the master reception follows a master transmission between the
same master and slave, the address read sequence can be R header of 10-bit
address in read direction, as is shown in
Figure 19-8. I2C communication flow with 10-bit
address (Master Receive when HEAD10R=1)
.
Figure 19-7. I2C communication flow with 10-bit address (Master Receive when
HEAD10R=0)
Start
Slave address
byte2
W(0)
ACK
DATA0
ACK
DATAN
NACK
Stop
……
data transfer (N+1 bytes)
From master to slave
From slave to master
Slave address byte1
(header)
ACK
1 1 1 1 0 x x
write
ACK
Slave address
byte1 (header)
Start
R(1)
read
Figure 19-8. I2C communication flow with 10-bit address (Master Receive when
HEAD10R=1)
Start
Slave address
byte2
W(0)
DATA0
ACK
DATAN
ACK
……
data transfer (N+1 bytes)
From master to slave
From slave to master
Slave address byte1
(header)
ACK
1 1 1 1 0 x x
write
ACK
Start
ACK
DATA0
ACK
DATAN
NACK
Stop
……
data transfer (N+1 bytes)
Slave address byte1
(header)
1 1 1 1 0 x x
R(1)
read