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.

[参考译文] TCA9539:I2C读取操作说明

Guru**** 2387830 points
Other Parts Discussed in Thread: TCA9539
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1103908/tca9539-i2c-read-operation-clarification

部件号:TCA9539

大家好,TCA9539数据表8.6.3.1.2部分描述了如下读取操作。 这有点令人困惑。 有人能帮您理解  这里提到的重启内容,以及下面描述的Port0,Port1访问是如何发生的?  

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第8.6.3.1.2节

重新启动后,由命令字节定义的寄存器值与重新启动时访问的寄存器匹配。 例如,如果命令byte在重新启动之前引用输入端口1,则在读取输入端口0时重新启动。 原始命令字节已被忘记。 如果随后发生重新启动,则会首先读取输入端口0。 数据被计时到ACK时钟脉冲上升沿的寄存器中。 读取第一个字节后,可能会读取其他字节,但数据现在会反映成对中另一个寄存器中的信息。 例如,如果读取输入端口1,则下一个字节读取为输入端口0。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    重新起动是一种I²C起动条件,没有以前的停止条件。 无论您使用的是stop+start还是重新启动,都没有关系。

    引用的段落仅在重新启动之前传输某些数据字节时才起作用。 例如,当您写入一个具有寄存器地址6的字节,然后写入一个具有C0寄存器值的字节,然后执行重新启动时,下一个字节读取将来自寄存器C1。 对于正常读取,您将只写入注册地址,因此不会发生这种情况。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您在这款鞋上的帮助。

    Thomas

    如果您有任何其他问题,请告知我们。

    最佳,

    Chris