0

I am trying to write 4 bytes of data from Pic32 to SigmaDsp ADAU1452 over I2C Bus. According to sigma dsp datasheet I have to do the following:

Send device address = 0x70

Send Register address. The register I am trying to write to is "0x0021"

SubAddress Byte 1 = 0x00

SubAddress Byte 2 = 0x21

Data Bytes = 0x01, 0x00, 0x00, 0x00

Would it be correct to send 4 bytes of Data to 2 bytes of address? I think this is not possible. Can someone please tell me how I can write these 4 bytes to the register address 0x0021?

abdullah
  • 65
  • 10
  • The address you provide in an I2C write transaction is a *starting* address. You can generally write as many bytes as you want, with the address automatically incrementing, and possibly even wrapping around if you hit the end of the device's address space. – jasonharper Aug 30 '18 at 12:35
  • Hi I tested it and it works I can right 4 bytes to the 2 bytes address. But I am confused that if the address increments is it still pointing to the same register I intend to write to? – abdullah Aug 30 '18 at 13:38
  • I think it's safe to assume that the address increment works in such a way that *it's actually possible to use the chip*. – jasonharper Aug 30 '18 at 14:16

0 Answers0