GD32F10x User Manual
468
address mode)
IDLE
Master generates START
condition
Master sends Address
Slave sends Acknowledge
Master sends Header
Slave sends Acknowledge
SCL stretched by master
Slave sends DATA(1)
Master sends Acknowledge
……
(
Data transmission
)
Slave sends DATA(N)
Master DON'T send Ack
Master generates STOP
condition
1) Software initialization
Set ADD10SEND
4) Clear ADD10SEND
Set ADDSEND
4) Clear ADDSEND
Set RBNE
Set RBNE and BTC
6) Read DATA(N-3)
Set RBNE
5) Read DATA(1)
Slave sends DATA(N-1)
Master sends Acknowledge
Set RBNE
8) Read DATA(N-2)
I2C Line State
Hardware Action
Software Flow
2) Set START
Set SBSEND
SCL stretched by master
3) Clear SBSEND
SCL stretched by master
4) Set START
Master generates repeated
START condition
Set SBSEND
4) Clear SBSEND
SCL stretched by master
Master sends Header
Slave sends Acknowledge
Set ADDSEND
4) Clear ADDSEND
SCL stretched by master
7) Clear ACKEN
Slave sends DATA(N-2)
Master sends Acknowledge
SCL stretched by master
Set RBNE and BTC
8) Read DATA(N-1)
7) Set STOP
SCL stretched by master
9) Read DATA(N)
17.3.8.
SCL line stretching
The SCL line stretching function is designed to avoid overflow error in reception and underflow
error in transmission. As is shown in Programming Model, when the TBE and BTC bits are
Summary of Contents for GD32F10 Series
Page 63: ...GD32F10x User Manual 63 programmed during the chip production ...
Page 117: ...GD32F10x User Manual 117 010 1 0 011 0 9 ...
Page 416: ...GD32F10x User Manual 416 shadow register updates every update event ...
Page 427: ...GD32F10x User Manual 427 value ...
Page 518: ...GD32F10x User Manual 518 These bits are not used in SPI mode ...