我恐怕这是一个非常具体的问题。
我试图编写一个程序来读取HIH6130 i2c传感器,使用/dev/i2c-3和< linux/i2c-dev.h>,但是尽管它对其他的i2c设备都有效,但对这个设备却不起作用。这可能是因为阅读协议的特殊性,但无论如何,这不是主题。
我找到了实现该传感器驱动程序的这段代码,它位于一个所谓的"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
我需要做点别的什么才能读取这个传感器吗?有什么想法吗?
发布于 2014-06-09 20:03:00
最后,我使用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‘。
https://stackoverflow.com/questions/23974789
复制相似问题