Datasheet
Section 16 I
2
C Bus Interface (IIC) (Optional)
Rev. 3.00 Mar 21, 2006 page 452 of 788
REJ09B0300-0300
Set TRS = 0 in ICCR
Set ACKB = 0 in ICSR
Set WAIT = 1 in ICMR
Yes
Yes
Yes
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Read IRIC flag in ICCR
Last receive?
IRIC = 1?
IRTR = 1?
Yes
IRTR=1?
No
No
No
No
Read IRIC flag in ICCR
IRIC=1?
No
Yes
Read ICDR
[4] Determine end of reception
[13] Determine end of reception
[1] Select receive mode.
[2] Start receiving. The first read
is a dummy read.
[3] Wait for a receive wait
(Set IRIC at the fall of the 8th clock) or,
Wait for 1 byte to be received
(Set IRIC at the rise of the 9th clock)
[12] Wait for a receive wait
(Set IRIC at the fall of the 8th clock) or,
Wait for 1 byte to be received
(Set IRIC at the rise of the 9th clock)
[5] Read the receive data.
[6] Clear IRIC flag.
(to end the wait insertion)
[15] Clear wait mode.
Clear IRIC flag.
( IRIC flag should be cleared to 0
after setting WAIT = 0.)
[17] Generate stop condition
Master receive mode
[14] Clear IRIC.
(to end the wait insertion)
[16] Read the last receive data.
[7] Set acknowledge data for the last reception.
[8] Wait for TRS setting
[9] Set TRS for stop condition issuance
[10] Read the receive data.
[11] Clear IRIC flag. (to end the wait insertion)
Read ICDR
Clear IRIC flag in ICCR
Set HNDS = 0 in ICXR
Wait for one clock pulse
Set ACKB = 1 in ICSR
Set TRS = 1 in ICCR
End
Set WAIT = 0 in ICMR
Set BBSY= 0 and SCP= 0
in ICCR
Clear IRIC flag in ICCR
Read ICDR
Clear IRIC flag in ICCR
Read ICDR
Figure 16.14 Sample Flowchart for Operations in Master Receive Mode
(Receiving Multiple Bytes) (WAIT = 1)