Nxp Semiconductors UM10237 用户手册

下载
页码 792
UM10237_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 19 December 2008 
606 of 792
NXP Semiconductors
UM10237
Chapter 22: LPC24XX I
2
C interfaces I
2
C0/1/2
10.7.5 State : 0x38
Arbitration has been lost during Slave Address + Write or data. The bus has been 
released and not addressed Slave mode is entered. A new Start condition will be 
transmitted when the bus is free again.
1. Write 0x24 to I2CONSET to set the STA and AA bits.
2. Write 0x08 to I2CONCLR to clear the SI flag.
3. Exit
10.8 Master Receive states
10.8.1 State : 0x40
Previous state was State 08 or State 10. Slave Address + Read has been transmitted, 
ACK has been received. Data will be
received and ACK returned.
1. Write 0x04 to I2CONSET to set the AA bit.
2. Write 0x08 to I2CONCLR to clear the SI flag.
3. Exit
10.8.2 State : 0x48
Slave Address + Read has been transmitted, NOT ACK has been received. A Stop 
condition will be transmitted.
1. Write 0x14 to I2CONSET to set the STO and AA bits.
2. Write 0x08 to I2CONCLR to clear the SI flag.
3. Exit
10.8.3 State : 0x50
Data has been received, ACK has been returned. Data will be read from I2DAT. Additional 
data will be received. If this is the last data byte then NOT ACK will be returned, otherwise 
ACK will be returned.
1. Read data byte from I2DAT into Master Receive buffer.
2. Decrement the Master data counter, skip to step 5 if not the last data byte.
3. Write 0x0C to I2CONCLR to clear the SI flag and the AA bit.
4. Exit
5. Write 0x04 to I2CONSET to set the AA bit.
6. Write 0x08 to I2CONCLR to clear the SI flag.
7. Increment Master Receive buffer pointer
8. Exit
10.8.4 State : 0x58
Data has been received, NOT ACK has been returned. Data will be read from I2DAT. A 
Stop condition will be transmitted.