Single Byte Read
Last updated
Last updated
Reading a single byte is an action performed by your microcontroller (I2C-Master) to access any register within the IS3750 memory (I2C-Slave), regardless of the last read or written position. To perform this action, your microcontroller must load the register address intended to be read into the IS3750's Pointer Register. Once the address is set, the microcontroller can retrieve the data from the specified register.
To initiate the Single Byte Read operation, the following steps must be performed from the beginning: The microcontroller starts by pulling SDA low while SCL is high to generate a Start Condition. It then sends the IS3750 I2C device address (0x12) with the R/W bit set to '0' (indicating a write operation). Note that the IS3750’s I2C address is fixed and does not change, allowing it to be uniquely identified among other devices on the I2C serial interface.
Upon receiving the device address, the IS3750 acknowledges it. Subsequently, the microcontroller sends the two bytes of the register address it intends to read: the most significant byte first, followed by the less significant byte, each acknowledged by the IS3750.
Next, the content of the LED Pointer Register needs to be read.
The microcontroller generates a Repeated Start Condition, followed by the IS3750 I2C device address (0x12) with the R/W bit set to '1' (indicating a read operation), instructing the IS3750 to retrieve data. The IS3750 acknowledges and responds with the register color, which the microcontroller does not acknowledge (NACK). Finally, the microcontroller issues a Stop Condition by raising the SDA line while the SCL is high.
Invalid Memory Addressing
The valid memory range of the IS3750 goes from addresses 0 to 3599 (0x0E0F). If a Read Operation is performed with a Pointer Register higher than 3599, the read result will be 0xFF.