beautypg.com

Renesas SH7641 User Manual

Page 553

background image

Section 16 I

2

C Bus Interface 2 (IIC2)

Rev. 4.00 Sep. 14, 2005 Page 503 of 982

REJ09B0023-0400

No

Yes

RDRF=1 ?

No

Yes

RDRF=1 ?

Last receive

- 1?

Mater receive mode

Clear TEND in ICSR

Clear TRS in ICCR1 to 0

Clear TDRE in ICSR

Clear ACKBT in ICIER to 0

Dummy-read ICDRR

Read RDRF in ICSR

Read ICDRR

Set ACKBT in ICIER to 1

Set RCVD in ICCR1 to 1

Read ICDRR

Read RDRF in ICSR

Write 0 to BBSY

and SCP

Read STOP in ICSR

Read ICDRR

Clear RCVD in ICCR1 to 0

Clear MST in ICCR1 to 0

End

No

Yes

STOP=1 ?

No

Yes

[1] Clear TEND, select master receive mode, and then clear TDRE.

[2] Set acknowledge to the transmit device.

[3] Dummy-read

ICDDR.

[4] Wait for 1 byte to be received

[5] Check whether it is the (last receive - 1).

[6] Read the receive data last.

[7] Set acknowledge of the final byte. Disable continuous reception (RCVD = 1).

[8] Read the (final byte - 1) of received data.

[9] Wait for the last byte to be receive.

[10] Clear the STOP flag.

[11] Issue the stop condition.

[12] Wait for the creation of stop condition.

[13] Read the last byte of receive data.

[14] Clear RCVD.

[15] Set slave receive mode.

[1]

[2]

[3]

[4]

[5]

[6]

Clear STOP in ICSR

[10]

[7]

[8]

[9]

[11]

[12]

[13]

[14]

[15]

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.
However, when the size of receive data is two bytes and more, steps [2] to [6]
are not skipped after step [1].

Figure 16.19 Sample Flowchart for Master Receive Mode

This manual is related to the following products: