STA sent.
1.
Clear the STA and STO flags.
2.
Write SMB0DAT with the slave address
and R/W bit set to 1.
3.
Clear the interrupt flag (SI).
a
Interrupt
ACK?
Interrupt
Yes
No
Last Byte?
1.
Read Data From SMB0DAT.
2.
Clear the interrupt flag (SI).
Send
Repeated
Start?
Yes
1.
Set the STO
flag.
2.
Clear the
interrupt flag (SI).
No
1.
Set the STA
flag.
2.
Clear the
interrupt flag (SI).
Idle
Interrupt
1.
Clear ACK.
2.
Clear SI.
Next Byte
Final?
1.
Set ACK.
2.
Clear SI.
Yes
No
Interrupt
No
Yes
Set the STA bit.
Idle
b
c
d
Figure 20.8. Master Read Sequence State Diagram (EHACK = 1)
EFM8SB2 Reference Manual
System Management Bus / I2C (SMB0)
silabs.com
| Smart. Connected. Energy-friendly.
Rev. 0.1 | 236