我担心这是一个非常具体的问题。
我尝试使用 / dev / i2c-3 和<编写程序来读取 HIH6130 i2c传感器。 linux / i2c-dev.h> ,但尽管它适用于所有其他i2c设备,但它不适用于此设备。可能这是因为阅读协议的特殊性,但无论如何,这不是主题。
我发现this code实现了该传感器的驱动程序,它位于所谓的“hwmon”中,它似乎是传感器驱动程序的集合。
成功编译并插入此模块后,我希望在hwmon下的某处看到条目 humidity1_input ,但我没有找到它。
root@overo:/sys# find -name hum*
root@overo:/sys# find -name hih*
./bus/i2c/drivers/hih6130
./module/hih6130
root@overo:/sys# ls ./bus/i2c/drivers/hih6130
bind module uevent unbind
root@overo:/sys# ls ./module/hih6130
coresize holders initstate refcnt srcversion uevent
drivers initsize notes sections taint
我是否必须做其他事情才能读取此传感器?有什么想法吗?
答案 0 :(得分:3)
我最终使用i2cget来阅读它:
$ i2cget -y 3 0x27 0x00
后来,作者Iain Paton向我展示了如何绑定驱动程序:
$ insmod hih6130.ko
$ echo hih6130 0x27 > /sys/bus/i2c/devices/i2c-3/new_device
在我的设备中,它出现在此目录中:
$ find /sys/ -name humidity*
/sys/devices/platform/omap_i2c.3/i2c-3/3-0027/humidity1_input
还有一个' temp1_input'在同一个目录中。