主题中讨论的其他器件:ADS7138、BP-ADS7128
我正在尝试 在与运行 debian Distro 的 Beagle Bone Black 连接的设备上从 ADS7138QRTERQ1写入和读取。
与该问题 ADS7138-Q1类似:I2C 通信、我已读取该值、在读取和写入器件之前、我们需要设置操作码: (0x08表示写入、0x10表示读取)。
使用 i2cset 和 i2cdump、如何发送这些操作码?
尝试写入 i2cbut 2器件地址0x14、地址0x05、值0x80时、添加操作码会抛出无效、而排除操作码将忽略写入。
使用操作码、我们无法使用操作码0x08写入寄存器0x05:
#i2cset -y 2 0x14 0x0805 0x80 Error: Data address invalid!
在不使用操作码的情况下、将值0x80写入接口2寄存器0x05上的器件地址0x14。
读回同一个寄存器、我们读取0x83、而不是我们写入的值、表示右侧失败:
# i2cset -y 2 0x14 0x05 0x80 # i2cdump -r 0x05-0x05 -y 2 0x14 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef00: 83