qiqirachel 发表于 2019-9-24 16:51:19

求助smbus访问i2c一次性读取2byte数据如何实现

问个问题,由于我现在用的ADC(LTC2453)发一次请求会直接回复2byte数据(就是说有address但是没有寄存器,就是发地址,然后会回复两个8位数据)

但是呢,我现在用smbus和smbus2的库

库内的函数有read_block_data(0x14, 2)
出来的错误是这样的:
ioctl(self.fd, I2C_SMBUS, msg)
OSError: Remote I/O error

或者用i2c_msg.read(0x14, 2)
错误是:i2c_msg(20,1,b'\x00\x00')

求助,那我怎么才能用smbus一次性读取两个数据呢

qiqirachel 发表于 2019-9-24 22:31:21

解决了,具体代码如下:
#python file

from smbus2 import SMBus, i2c_msg

bus = SMBus(1)
address = 0x14

msg = i2c_msg.read(address, 2)   #read two byte from address.
b = bus.i2c_rdwr(msg)

data = list(msg)

print(data)
页: [1]
查看完整版本: 求助smbus访问i2c一次性读取2byte数据如何实现