您好!
我面临着 I2C 字节访问问题。
上图显示了对0x2的字节写入访问。 我可以看到 ACK。 底部的图显示了对0x1的访问、并发出 NACK。 我的操作是否错误?
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.
您好 Hao、
感谢您的评论。 我确认 的内容如下。
1-1) 将 b'1100101作为从器件地址发送
1-2)发送了 b'0来写入寄存器。
1-3) 已确认从 CDCE913中删除
1-4)发送 b'10000001以写入地址0x1
1-5)已确认来自 CDCE913的 NACK
2-1) 将 b'1100101作为从器件地址发送(与1相同)
2-2)发送了 b'0来写入寄存器(与1相同)
2-3) 确认从 CDCE913中删除(与1相同)
2-4)发送 b'10000010以写入地址0x2
2-5)已确认从 CDC 中删除
此致、
Hidenari 本田
好的。 但是、您以前是否使用过相同的控制器/平台来成功地对其他 I2C 器件进行编程? 这是因为我不确定你得到的 ACK 是否有效、因为我无法判断它是由从器件下拉还是由主器件实际下拉(只需通过扩展 LSB、因为当最后一位为0时、你始终会得到一个 ACK、 最后一位为1时发出 NACK 信号)。 您的平台中是否有可扫描 I2C 总线的功能? 我能想到的最佳完整性检查是扫描 I2C 总线、而不是直接设置从器件地址。 如果您可以通过扫描找到地址、则表示 I2C 确实正常工作。
此致、
Hao