“线程: 测试, OPT3007”中讨论的其它部件
大家好
我们在 imx6dl 平台上使用了 opt3001传感器,并将驱动程序与 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/light/opt3001.c 一起使用 ,在我们的产品中读取/写入 lux。
我们读取 in_照明 度输入的设备节点文件,以便在程序中每隔2秒获得一次 lux。
当程序运行几个月,并且我使用 cat 命令获取 lux 时,它无法正常工作,结果是:
# cat in_照明_input
CAT:读取错误:连接超时
使用 i2cget 命令从 opt3001读取配置寄存器,结果是:
i2cget -f 0x44 1 w
0x9fc0
结果,我发现 POL 和 FC 位已更改,默认情况下,POL 为0,而 FC=00,但当它无法正常工作时,POL 为1,而 FC=11
我分析了 opt3001.c 的源代码,发现配置寄存器的 POL 和 FC 文件只在中更改
所以,我不知道哪种操作会改变 POL 和 FC 的值,并将它们设置为不预期的值。
最佳
梁。 周