To read any register the following
command sequence must be used:
- Send a start or repeated start command with a target address
and the R/W bit set to 0 for writing. The device
acknowledges this event.
- Send a command byte for the register to be read. The device
acknowledges this event again.
- Send a repeated start with the target address and the
R/W bit set to 1 for reading. The device acknowledges
- The device writes the MSDB byte of the addressed register. The
controller must acknowledge this byte.
- Finally, the device writes out the LSDB of the register.
The broadcast address cannot be used
Table 7-17 Read Sequence
|S||MSB||…||R/W (0)||ACK||MSB||…||LSB||ACK||Sr||MSB||…||R/W (1)||ACK||MSB||…||LSB||ACK||MSB||…||LSB||ACK|
|Address byte |
|Command byte |
|Sr||Address byte |
controller||Target||From controller||Target||From target||Controller||From Target||Controller|