最近接触一些新的 i2c 设备, 有2个因为设备内部数据地址是16bit/17bit。 这样i2cget和i2cset命令通常都不好用。即使勉强能用, 参数和原始的含意不相同。 开始以为只能自己写代码操作。 后来发现i2ctransfer 是能够方便的进行操作的。
其中设备1 进行读取需要先写地址, 然后直接向设备发出读取操作
i2ctransfer -y $bus_id w2@$dev_address A1 A2
i2ctransfer -y $bus_id r2@$dev_address
A1 A2 是设备地址的2个byte