Datasheet

2015 Microchip Technology Inc. DS20005292B-page 43
MCP2221
3.1.9 I
2
C™ READ DATA
REPEATED-START
This command is used to read user-given data to the
I
2
C Slave device (the speed is specified by the
STATUS/SET Parameters command).
The command will have the following effect:
•The I
2
C engine will send the “Repeated-START”
condition.
The selected I
2
C slave address is sent next and
the I
2
C engine will wait for the slave to send an
acknowledge bit.
The user data is read next and the I
2
C engine
sends the acknowledge bit to the slave.
If the requested length is more than 60 bytes,
subsequent user bytes will be read from the I
2
C
slave on the bus.
When the user data length (being sent on the bus)
reaches the requested length, the I
2
C engine will
send the “STOP” condition on the bus.
3.1.9.1 Responses
TABLE 3-28: COMMAND STRUCTURE
Byte
Index
Value Effect
00x93
I
2
C Read Data Repeated-START – command code
1 Low Byte Requested I
2
C transfer length – 16-bit value – low byte
2 High Byte Requested I
2
C transfer length – 16-bit value – high byte
3I
2
C Slave
Address
8-bit value representing the I
2
C slave address to communicate with (even – address to write,
odd – address to read) (Note 1)
4-63 Don’t
care
Note 1: The I
2
C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write
operations use the shifted value, while for reads add 1 to the shifted value.
TABLE 3-29: RESPONSE 1 STRUCTURE
Byte
Index
Value Effect
0
0x93 I
2
C Read Data Repeated-START – command code echo
1 0x00 Command completed successfully
0x01 I
2
C Engine is busy (command not completed)
2 Internal I
2
C Engine state (at the moment the command was issued) – useful for monitoring the
status of the I
2
C Engine
3-63 Don’t
care