This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USCI I2C Question(s)

Other Parts Discussed in Thread: TCA8418

Hi there,

I'm trying to communicate to a TCA8418 via I2C from a launchpad using the TI_USCI_I2C_master library. The slave address is 0x34, and the "TI_USCI_I2C_slave_present(0x34)" returns a true. I'm trying to write to a register however, and every time I try to do that (by first sending the register address), both my clock and data lines go low and no transmission ever happens. I'm new to I2C and I'm sure it's a user bug but I'm not entirely sure where to start. Here's some code:

And here's the datasheet steps to setup for keypad:

And from another page, how to write to the datasheet:

I think I'm misunderstanding the functions and how they work. Does it stay pulled low because there's no acknowledgement?

  • The first parameter of the TI_USCI_I2C_transmitinit() function is the slave address.

    The address of your device is not 0x1D.

    To write to a register, you need to transmit 2 bytes (not 8) on the I²C bus, where the first is the register number, and the second, the value.

**Attention** This is a public forum