主题中讨论的其他器件:ALP、 USB2ANY
我没有看到关于这一主题的更近期的问题/答案。
是否可以使用 ALP 脚本选项卡中的"board.ReadI2C()"执行多读事务? 无法对远程 I2C 总线上的 I2C 器件进行全面的故障排除、除非一个事务中可以读回8位以上的数据。
谢谢、
Mike
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.
我没有看到关于这一主题的更近期的问题/答案。
是否可以使用 ALP 脚本选项卡中的"board.ReadI2C()"执行多读事务? 无法对远程 I2C 总线上的 I2C 器件进行全面的故障排除、除非一个事务中可以读回8位以上的数据。
谢谢、
Mike
Mike、
ALP 支持多字节读/写事务
请检查
https://e2e.ti.com/support/interface/f/138/p/797643/2951039
谢谢、
Vishy
Michael、
感谢您的检查。 您能否 检查是否收到任何 I2C 错误代码? 请参阅中的文档
C:\Program Files (x86)\Texas Instruments\Analog LaunchPAD v1.57.0010\ALP_Documents\ALP_I2C_ErroCodes
您必须检查变量'board.RC'。
您能否解释一下访问远程设备的设置是什么样的? 如果您要通过925或921到远程设备、您是否初始化了从设备 ID 和别名? 另请查看此应用手册(如果您尚未阅读)
https://www.ti.com/lit/pdf/snla131
https://www.ti.com/lit/pdf/snla222
谢谢、
Vishy

我不确定您是否能看到上面的图片、它的质量似乎比我拍摄的要低得多。
Board.RC 报告为"1"。 我已将 PC 插入带有926 (本地器件)的评估板、并且链接到921 (远程器件)。 我已经为远程侧 I2C 总线上的其他两个器件设置了 SlaveID 和从别名 ID。 本地器件地址为0x58。 远程设备地址为0x18。 远程总线上的另外两个器件地址为0x46和0x52。 出于测试目的、我已将 SlaveID 和 Slave Alias 设置为每个器件的相同值。

我将使用示波器查看 I2C 远程总线上的波形。 当我运行单字节命令时、总线上的输出与命令相匹配。 我可以与两个远程器件通信-我可以使用寄存器值和单个数据字节写入0x46或0x52、并且可以从这些器件在总线上看到 ACK。
当我运行一个两字节命令"board.WriteI2C (0x52、0x01、[0x1A、0x05])时 、我只能看到器件地址0x52、寄存器值0x01和第一个数据字节0x1A、然后在示波器上停止。
Michael、
感谢图片和说明。 当我单击图片时、它会弹出、我可以清楚地看到。
我想我意识到这个问题:我们添加的这一多字节写入功能只适用于 usb2any 驱动程序接口。 在926等较旧的电路板上、我们有 "Nano"驱动程序、但我们没有针对它的扩展。 这就是您看不到它的原因。 很抱歉、这让我感到很失望。
是否可以 尝试使用 USB2ANY 软件狗? 您必须将926个 I2C 引脚连接到 usb2any i2c。
https://www.ti.com/tool/USB2ANY
或者、如果您拥有内置 USB2ANY 电路的最新928 EVM、也可以使用。
谢谢、
Vishy