ls /sys/bus/i2c/devices/i2c-0/ 查看设备时,会出现0-0042 delete_device i2c-dev new_device power uevent 0-0043 device name of_node subsystem waiting_for_supplier
时间: 2024-04-05 16:33:51 浏览: 44
在 `/sys/bus/i2c/devices/i2c-0/` 目录下,`0-0042` 和 `0-0043` 分别表示在 i2c bus 0 上注册的两个 i2c 设备,它们的具体地址分别为 0x42 和 0x43。`device` 目录下是与该 i2c bus 相关的一些设备文件,其中 `name` 文件记录了该 i2c bus 的名称,`of_node` 文件记录了该 i2c bus 在设备树中的节点信息,`subsystem` 目录下是 i2c 设备子系统相关的一些设备文件,例如 `i2c-dev` 文件是 i2c 设备的字符设备文件,可以通过该文件与 i2c 设备进行通信。`new_device` 和 `delete_device` 文件可以用来动态添加和删除 i2c 设备。`power` 目录下是与 i2c 设备电源管理相关的一些设备文件,`uevent` 文件记录了该 i2c bus 的 uevent 信息。`waiting_for_supplier` 文件用于 i2c 设备的热插拔,表示该 i2c 设备正在等待新的供应者。
相关问题
为什么ls /dev 下出来的 I2C设备比实际配置的药多
在Linux系统中,I2C设备驱动程序在运行时会动态创建设备节点(device node),这些设备节点保存在/dev目录下。因此,/dev目录中的I2C设备节点数量可能会比实际配置的数量多。
此外,一些内核模块或者应用程序在运行时也会创建I2C设备节点,这也可能导致/dev目录中的I2C设备节点数量增多。
如果您想查看实际配置的I2C设备节点,您可以使用以下命令:
```
ls /sys/bus/i2c/devices/
```
这个命令会显示所有已经注册的I2C设备,每个I2C设备对应一个目录,其中包含了设备的属性信息和驱动程序信息。如果您只想查看特定的I2C设备,可以在命令后面加上设备的编号,例如:
```
ls /sys/bus/i2c/devices/i2c-0/
```
这个命令会显示编号为i2c-0的I2C设备的详细信息。
open /dev/i2c-0 is failed
这个错误通常是因为您的系统没有正确配置或没有权限访问 I2C 总线。请确保您的系统已经加载了适当的 I2C 驱动程序,并且您的用户具有访问 I2C 设备的权限。您可以尝试使用命令 "ls /dev/i2c*" 来检查您的 I2C 设备是否已正确识别。如果您的设备未正确识别,则需要进行相应的配置和安装操作。