Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux i2cset 16位寄存器地址_Linux_I2c - Fatal编程技术网

Linux i2cset 16位寄存器地址

Linux i2cset 16位寄存器地址,linux,i2c,Linux,I2c,我有一个设备通过i2c协议进行通信。设备的寄存器地址为16位,但linux i2c工具仅支持8位地址。但我已经找到了解决办法 例如,要读取0x0006地址处的寄存器,我使用以下方法: (假设busId为0,设备i2c地址为0x48) i2cset-y 0 0x48 0x00 0x06(此命令将寄存器地址设置为0x0006) i2cget-y 0 0x48(此命令的值为0xBA,为真) 当我再次调用i2cget-y0x48命令时,它会在下一个地址返回值 编写操作正如我所期望的那样工作。但当我试图写

我有一个设备通过i2c协议进行通信。设备的寄存器地址为16位,但linux i2c工具仅支持8位地址。但我已经找到了解决办法

例如,要读取0x0006地址处的寄存器,我使用以下方法: (假设busId为0,设备i2c地址为0x48) i2cset-y 0 0x48 0x00 0x06(此命令将寄存器地址设置为0x0006) i2cget-y 0 0x48(此命令的值为0xBA,为真) 当我再次调用i2cget-y0x48命令时,它会在下一个地址返回值

编写操作正如我所期望的那样工作。但当我试图写入同一个寄存器时,我失败了。我尝试以下命令:

i2cset-y 0 0x48 0x00 0x06 0xBA 0x0B i

此命令不返回错误。但当我再次阅读登记册时,我看到登记册没有改变


我使用的设备是AP0100CS。寄存器地址是可写的。我不知道i2cset有什么问题。

我也面临着同样的情况,i2cset似乎设置不正确(我使用的是不同的设备)