i2c端口随机变化

i2c端口随机变化

我使用的是 Up square 计算机。我通过 HAT 连接器中的 i2c 端口连接设备。使用时,i2cdetect我在不同端口上检测到同一设备(由地址标识)。重新启动之间会发生更改。

据我了解,我也许可以通过在 中设置规则来解决此问题etc/udev/rules.d,但我不确定如何执行此操作。具体来说,我不确定如何过滤传感器来创建规则。我看到的kerneli2c-2,但我想知道这是否会在下次重新启动时改变。

答案1

我在使用 Seed ODYSSEY 板时遇到了与您相同的问题。我通过将规则文件 71-i2c.rules 添加到 /etc/udev/rules.d/ 来解决这个问题

71-i2c.rules的详细代码

SUBSYSTEM=="i2c-dev", KERNELS=="i2c_designware.1", SYMLINK+="i2c-10"

我使用此代码创建指向我想要的特定 i2c 的符号链接。而且我总是可以通过对/dev/i2c-10进行操作来获取正确的数据。

如何获取自己想要的i2c总线的具体数据?您可以通过以下命令获取它:

udevadm info -a /dev/i2c-1

在此命令的输出中,您需要找到您想要的 i2c 总线所具有的特定数据。

答案2

据我所知,i2c 编号是动态分配的,因此它可能会发生变化。因此,我认为你不能静态地使用它。

相关内容