主题中讨论的其他器件: SM72295
我正在尝试使用 Raspberry Pi 中的 I2C 读取/写入 SM72442寄存器。 我能够使用"i2cdetect -y 1"检测我的器件、且其地址为0x03。 目前、我正在尝试读取 reg0的内容。 请在下面查找我的代码:
导入 smbus
总线= smbus.SMBus (1)
DEVICE_ID = 0x03
寄存器= 0xE1 #base 寄存器地址0xE0
尝试:
b = BUS.READ_BYTE_DATA (DEVICE_ID、寄存器)
打印(十六进制(device_id)、b)
除了:
通过
它会打印('0x3'、7)。 显然、READ_BYTE_DATA 仅告知该寄存器的字节数。 但是、即使我将寄存器编号更改为任何其他值、它始终提供值7。 从文档中可以了解到、我需要首先发送地址、从 SM72442获取一个 ACK、发送命令寄存器、Get 和 ACK、然后重复启动。 但是、我无法确定如何使用 python smbus 实现它。 有关使用 smbus 或任何其他基于 Linux 的低级 I2C 库读取/写入寄存器的任何帮助都将非常有用。