5.13.6 Writing to multiple registers with incremental addressing
STWLC38 supports writing to multiple registers with auto-incremental addressing. When data is written into a
register, the register pointer is automatically incremented, therefore transferring data to a set of subsequent
registers (also known as page write) is a straightforward operation.
Figure 44. Writing to multiple I²C registers
5.13.7 Reading from a single register
Reading from a single register begins with a START condition followed by the device address byte 0xC2 (7-bit
device address plus R/W bit cleared) and two bytes of register pointer, then a restart condition is generated and
the device address 0xC3 (7-bit device address plus R/W bit asserted) is sent, followed by data reading. ACK
pulse is generated by the STWLC38 at the end of each byte, but not for data bytes retrieved from the register. A
STOP condition is finally generated to terminate the operation.
Figure 45. Reading from a single I²C register
5.13.8 Reading from multiple registers with incremental addressing
Similarly, to multiple bytes (page) writing, reading from subsequent registers relies on an auto-increment of the
register: The master can extend data reading to the following registers by generating and an ACK pulse at the
end of each byte. Data reading starts immediately, and the stream is terminated by a NMAK at the end of the last
data byte, followed by a STOP condition.
Figure 46. Reading from multiple I²C registers
UM3154
I²C Interface
UM3154 - Rev 2
page 37/81