INACKS
  • Welcome to the IS3750 Addressable LED Controller Chip Wiki
  • Buy Now
  • Datasheet
    • Detailed Description
      • How it works
      • LED Agnostic
      • Advantages
    • Pin Description
    • Memory Map
      • SHOW Register
      • LEDx Register
  • I2C-compatible Bus Description
    • Single Byte Write
    • Multiple Byte Write
    • Single Byte Read
    • Multiple Byte Read
  • Mechanical
  • Examples
    • Hardware Design Example
    • STM32 Code Example
  • Arduino Code Example
  • Raspberry Pi Code Example
  • Appendix
    • Others
Powered by GitBook
On this page
  1. I2C-compatible Bus Description

Single Byte Read

PreviousMultiple Byte WriteNextMultiple Byte Read

Last updated 21 days ago

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.