![Texas Instruments CC2533 Скачать руководство пользователя страница 181](http://html.mh-extra.com/html/texas-instruments/cc2533/cc2533_user-manual_1094592181.webp)
Operation
When a START condition is detected on the bus, the I
2
C module receives the transmitted address and
compares it against its own address stored in
I2CADDR.ADDR
. If the compare is successful, an interrupt is
generated and the
I2CCFG.SI
bit is set. The same is done for a general call address match if the
I2CADDR.GC
bit is set.
20.1.4.1.1 I
2
C Slave Transmitter Mode
Slave transmitter mode is entered when the slave address transmitted by the master is identical to this
device's own address with a set R/W bit. The slave transmitter shifts the serial data out on SDA with the
clock pulses that are generated by the master device. The slave device does not generate the clock, but it
does hold SCL low while intervention of the CPU is required after a byte has been transmitted.
If the master requests data from the slave, the I
2
C module is automatically configured as a transmitter, and
I2CCFG.SI
is set. The SCL line is held low until the first data to be sent is written into the data buffer
I2CDATA
. Then the address is acknowledged and the data is transmitted. After the data is acknowledged
by the master, the bus is stalled during the acknowledge cycle by holding SCL low until new data is written
into
I2CDATA
. If the master sends a NACK the I
2
C module returns to the not-addressed slave state.
provides more details regarding the slave transmitter operation.
Table 20-1. Slave Transmitter Mode
Status
Application Software Response
Code
To
I2CCFG
Status of the
(Value of
Next Action Taken by I
2
C Hardware
I
2
C
To/From
I2CDATA
I2CSTAT.
STA
STO
SI
AA
STAC
)
0xA8
Own SLA+R
Load data byte
X
0
0
0
Last data byte is transmitted and ACK is received.
has been
or
X
0
0
1
Data byte is transmitted; ACK is received.
received; ACK
load data byte
has been
returned.
0xB0
Arbitration lost
Load data byte
X
0
0
0
Last data byte is transmitted and ACK is received.
in SLA+R/W as
or
X
0
0
1
Data byte is transmitted; ACK is received.
master; own
load data byte
SLA+R has
been received;
ACK has been
returned.
0xB8
Data byte has
Load data byte
X
0
0
0
Last data byte is transmitted and ACK is received
been
or
X
0
0
1
Data byte is transmitted; ACK is received.
transmitted;
load data byte
ACK has been
received.
0xC0
Data byte has
No action
0
0
0
0
Switched to not-addressed SLV mode; no
been
recognition of own SLA or general call address
transmitted;
or
0
0
0
1
Switched to not-addressed SLV mode; own SLA or
not-ACK has
no action
general call address is recognized.
been received.
or
1
0
0
0
Switched to not-addressed SLV mode; no
no action
recognition of own SLA or general call address;
START condition is transmitted when the bus
becomes free.
or
1
0
0
1
Switched to not-addressed SLV mode; own SLA or
no action
general-call address is recognized; START
condition is transmitted when the bus becomes
free.
181
SWRU191C
–
April 2009
–
Revised January 2012
I
2
C
Copyright
©
2009
–
2012, Texas Instruments Incorporated