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.

[参考译文] PROCESSOR-SDK-J721E:i2cdetect 不会探测所有地址

Guru**** 2483885 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1553669/processor-sdk-j721e-i2cdetect-will-not-probe-all-addresses

器件型号:PROCESSOR-SDK-J721E


工具/软件:

我看到了一些无法理解的情况、即在 J721E-EVM 板上检测 I2C 器件以及载板上的 J721E SOM。  此外、我们还安装了 GESI 板。

在 Linux 中运行 i2cdetect -l 以列出所有总线  

i2c-0   i2c             OMAP I2C adapter                        I2C adapter
i2c-1   i2c             OMAP I2C adapter                        I2C adapter
i2c-2   i2c             OMAP I2C adapter                        I2C adapter
i2c-3   i2c             OMAP I2C adapter                        I2C adapter
i2c-4   i2c             OMAP I2C adapter                        I2C adapter

然后、我尝试证明总线上的器件等

 i2cdetect 0
Warning: Can't use SMBus Quick Write command, will skip some addresses
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x08-0x77.
Continue? [Y/n] Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: 50 51 52 -- 54 -- -- -- -- -- -- -- -- -- -- --
60:
70:

似乎仅探测地址 0x30-37 和 0x50-5F。

为什么它不会探测一些地址?   

它会发出警告、指出它无法使用 SMBus OS、它会跳过某些地址。 我可以做些什么呢?

总线 4 上有一个器件、其 I2C 地址为 0x40。 但在尝试编写和应用程序与之通信之前、我们似乎不能对其进行探测以确保其存在或正确连接。

谢谢你

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

    如果使用以下命令运行、可以将其进行探测。

    i2cdetect -r -y 4.

    r 会执行我想克服地址跳过的不同命令(读取字节)。 我不知道为什么。