工具与软件:
大家好、团队成员:
我们使用 GPIO 来模拟 I2C 以控制 TCA9534A。
当我发送 I2C 命令时I2C get unit 0 dev 14 reg 0x0
、例如、它可以在上电后执行前四条命令。
但是、我从第五条命令开始收到错误消息。
是否有解决此问题的方法? 或者最可能的问题是什么? 感谢您的帮助和向您学习。
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.
Tommy、您好!
我同意克莱门斯所说的话。 请查看他的评论。
(1)一个 ACK = LOW。 或 NACK = HIGH。 在 SCL 的上升沿、SDA = LOW、所以这是一个成功的 ACK 位。 由于 I2C 在 SCL 的上升沿进行采样、因此之后执行的操作不那么重要。 正如 Clemens 所说、主器件和从器件(控制器和目标)必须切换 SDA 总线。 有时、在切换之间存在延迟、SDA 上的 PU 电阻器开始将总线拉至高电平、这就是 SDA 在再次被拉至低电平之前上升一段时间的原因。
(2)这是器件上电时 I/O 扩展器的默认值。
(3)极性反转寄存器对配置为输入的引脚的输入数据状态进行反转、或对配置为输出的引脚的逻辑进行反转。
此致、
Tyler