Section 17 I
2
C Bus Interface 3
R01UH0134EJ0400 Rev. 4.00 Page 885 of 2108
Sep 24, 2014
SH7262 Group, SH7264 Group
No
Yes
RDRF=1 ?
No
Yes
RDRF=1 ?
Last receive
- 1?
Slave receive mode
Clear AAS in ICSR
Clear ACKBT in ICIER to 0
Dummy-read ICDRR
Read RDRF in ICSR
Read ICDRR
Set ACKBT in ICIER to 1
Read ICDRR
Read RDRF in ICSR
Read ICDRR
End
No
Yes
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[1] Clear the AAS flag.
[2] Set acknowledge to the transmit device.
[3] Dummy-read ICDRR.
[4] Wait for 1 byte to be received.
[5] Check whether it is the (last receive - 1).
[6] Read the receive data.
[7] Set acknowledge of the last byte.
[8] Read the (last byte - 1) of receive data.
[9] Wait the last byte to be received.
[10] Read for the last byte of receive data.
Note: When the size of receive data is only one byte in
reception, steps [2] to [6] are skipped after
step [1], before jumping to step [7]. The step [8]
is dummy-read in ICDRR.
Figure 17.21 Sample Flowchart for Slave Receive Mode