工具/软件:
TI 支持团队大家好:
作为瓷砖的说明。 AM2612 作为 I2C 从器件、当主器件向 AM2612 发送命令时、我如何区分此命令是读取命令或写入命令?
I2C 是否有任何寄存器用于指示该状态? 或者我可以在 I2C 的 SDK 中读取一些变量 ( i2c_v1.c i2c_v1_lld.c ) 吗?
等待您的响应。 非常感谢。
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.
尊敬的 Jevin:
您可以检查目标的方向。 您可以读取 I2C_ICSTR 寄存器的 (0x52500008h) 第 14 位(方向)。 有关详细信息、请参阅 AM261x 寄存器附录: www.ti.com/.../spruj94a.pdf
此致、
Shaunak
您好 Shaunak、
很抱歉这么晚了。 我已尝试分别发送读取和写入命令。 在这两种情况下、寄存器 I2C_ISTR 值均为 0x1610。 当 I2C 从器件将数据发送到 I2C 总线时、该值为 0x5610。 在我的理解中、 I2C_ISTR 寄存器的 (I2C 为 0x52500208h) 第 14 位表示 I2C 实例是 发送器还是 接收器。 但不指示 I2C 实例接收写入命令或读取命令。
这个问题对我来说并不重要。 另一个问题对我来说非常重要。
在屏幕截图中、SCL 会在很长的时间内保持在低电平、并且无法再释放到高电平。 您是否曾 处理过此案例? 如何分析此问题?
正在等待您的回答。 非常感谢。
尊敬的 Jevin:
屏幕截图显示、SCL 在很长一段时间内保持低电平、无法再发布到高电平。 您是否曾 处理过此案例? 如何分析此问题? [/报价]您何时遇到此情况? 我进行一些 I2C 读取和写入、长时间没有看到 SCL 线路被拉低。
1.您能分享一下在 SCL 线路上长时间处于低电平之前最后执行的操作是什么吗
2. SCL 低电平持续多长时间?
3.是否有任何 I2C 事务发生故障/卡在故障状态?
4.你怀疑时钟拉伸吗?
5.这个默认的 AM261x-LP 和开箱即用 SDK 示例吗? 如果是、您能否分享详细信息、以便我也可以尝试? 我尝试了 AM261x v10.02.00.15 SDK 示例中的 I2C LED 闪烁、I2C1 没有发现此问题。
此致、
Shaunak