当使用Toit的寄存器用于I2C设备时,寄存器地址只有8位。
我有一个使用 16 位地址的设备。我如何与它沟通?
使用 16 位地址时,必须直接使用 I2C device。该类具有 write-address 和 read-address 函数,它们将地址作为字节数组。
然后您可以使用如下辅助函数:
read-register16 address/int size/int -> ByteArray:
return device.read-address #[address >> 8, address & 0xff] size
write-register16 address/int bytes/ByteArray:
device.write-address #[address >> 8, address & 0xff] bytes