Linux i2cset 16位寄存器地址
我有一个设备通过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 此命令不返回错误。但当我再次阅读登记册时,我看到登记册没有改变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命令时,它会在下一个地址返回值 编写操作正如我所期望的那样工作。但当我试图写
我使用的设备是AP0100CS。寄存器地址是可写的。我不知道i2cset有什么问题。我也面临着同样的情况,i2cset似乎设置不正确(我使用的是不同的设备)