树莓派3B+ I2C接口的使用
1 开启树莓派i2c
再Raspberry Pi Configuration 的Interfaces 下I2C 选择enable 即可
2 将I2C 设备连接到树莓派 如下图:
3 代开console 输入 i2cdetect -y 1 ,注意此处是1 树莓派下面的27 28 口对应的是i2c0 ,但我试了一下27 28 口我的板子没反应
显示两个地址代表 检测到两个设备
4 使用SMBUS python 操作I2C设备
import smbus
import time
#设备地址 和上一步的地址一直
i2cAddress1=0xie
i2cAddress2=0x53
#设备内部的寄存器地址 看每个设备的手册
reg1_1=0x40
reg2_1 =0x50
bus=smbus.SMBus(1) #1 对应我们连接的I2c
while True:
#读第一个设备的 reg1_1的一个字节
value1=bus.read_byte_data(i2cAddress1,reg1_1)
time.sleep(0.01)
#读第2个设备的 reg2_1的一个字节
value12=bus.read_byte_data(i2cAddress2,reg2_1)
#value=bus.read_i2c_block_data(I2C_ADDRESS,0x42,N) 连续读取N个字节
#对16位数据的读写
data=bus.read_word_data(address,0x01)
bus.write_word_data(address,0x01,0x01d6)