![直接 i2c 硬件访问](https://linux22.com/image/37590/%E7%9B%B4%E6%8E%A5%20i2c%20%E7%A1%AC%E4%BB%B6%E8%AE%BF%E9%97%AE.png)
我有一个定制硬件,基于 i.mx6q 的主板,运行定制的 Debian 剥离版本,通常的 Linux 工具使生活变得轻松不可用。
/sys/bus/i2c/devices/[device]
我可以使用 root 访问权限使用标准工具(例如等)直接读写 i2c 吗echo
?
答案1
根据这篇 Linux Journal 文章,标题为:I2C 驱动程序,第二部分:
所有 I2C 芯片驱动程序都通过 I2C 芯片设备目录中的 sysfs 文件导出不同的传感器值。这些文件名以及表示值的单位都是标准化的,并记录在文件 Documentation/i2c/sysfs-interface 的内核树中(表 1)。
表 1. 通过 sysfs 文件导出的传感器值
- 最大温度[1-3] 温度最大值。固定点值采用 XXXXX 形式,应除以 1,000 以获得摄氏度。读/写值。
- 温度最小值[1-3] 温度最小值或滞后值。固定点值采用 XXXXX 形式,应除以 1,000 以获得摄氏度。这优选是滞后值,以绝对温度报告,而不是与最大值的增量。读/写值。
- 临时输入[1-3]温度输入值。只读值。
如表 1 中的信息所示,每个文件只有一个值。所有文件都是可读的,并且某些文件可由具有适当权限的用户写入。
因此,似乎/sys/bus/i2c/devices/[device]
可以使用标准工具(例如 )编写下面的内容echo
,但其他工具则可能不行。