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.

TCA6416A: I2C read mode

Part Number: TCA6416A
Other Parts Discussed in Thread: TCA6416

Hi,

I used a TCA6416A in project. When I read register or input port register, there is a phenomenon I want to confirm.

When I use read method in Figure.32- master only send 7bit addr+Read(1) bit, TCA6416A didn't send any data out and ACK.

But when I used Figure.31 way to read  any register or use WRITE command, TCA6416 could feedback data or ACK. Than use Figure.32 way to read, TCA6416A could feedback ACK and data.

So I was wondering, is that true, I have to read with Figure 31 way or write, then read with Figure 32 way could be used after?

Thank you!

Shuangli

  • Once write or read with Figure 31 way, read with Figure 32 could work then, and read this way in anytime without write or read in Figure 31 way anymore. Does that need "command byte" at least one time?

  • The command byte tells the device which register to read. If you try to read without having ever sent the command byte, then it does not know which register you want.

  • Hi Shuangli,

    The TCA6416A has a pointer (command byte) that points to a specific register that you desire to read/write from. 

    I believe for the TCA6416A, this pointer is set to 0x00 (input port register). Which is why in figure 32, a read can be immediate without setting the command byte since the pointer powers up at 0x00. 

    If you try to do a read or write of a different register other than 0x00, you would need to set the command byte as Clemens suggested. Follow the figure 31 to set the command byte (pointer) to the desired register, then conduct reads/writes.

    Regards,

    Tyler