Start
Initialize
Set MST=0 and
TRS=0 in ICCR
Set ACKB=0 in ICSR
Read IRIC flag in ICCR
No
IRIC=1?
Yes
Read AAS and ADZ flags in ICSR
AAS=1 and
ADZ=0?
Yes
Read TRS bit in ICCR
TRS=0?
Yes
Yes
Last receive?
No
Read ICDR
Clear IRIC flag in ICCR
Read IRIC flag in ICCR
No
IRIC=1?
Yes
Set ACKB=0 in ICSR
Read ICDR
Clear IRIC flag in ICCR
Read IRIC flag in ICCR
No
IRIC=1?
Yes
Read ICDR
Clear IRIC flag in ICCR
End
Figure 25.16 Flowchart for Slave Transmit Mode (Example)
[1]
[2]
No
General call address processing
No
Slave transmit mode
[3]
[1]
[4]
[2]
[3]
[5]
[4]
[6]
[5]
[6]
[7]
[7]
[8]
[8]
* Description omitted
Select slave receive mode.
Wait for 1 byte to be received (slave
address)
Start receiving. The first read is a dummy
read.
Wait for the transfer to end.
Set acknowledge data for the last receive.
Start the last receive.
Wait for the transfer to end.
Read the last receive data.
Rev. 2.0, 11/00, page 563 of 1037