树莓派3B+ I2C总线挂接多个设备

                                          树莓派3B+  I2C接口的使用

1  开启树莓派i2c 

      再Raspberry Pi Configuration 的Interfaces 下I2C 选择enable 即可

2  将I2C 设备连接到树莓派 如下图:

树莓派3B+ I2C总线挂接多个设备_第1张图片

3 代开console  输入 i2cdetect -y 1  ,注意此处是1  树莓派下面的27 28 口对应的是i2c0 ,但我试了一下27 28 口我的板子没反应

    显示两个地址代表 检测到两个设备

  树莓派3B+ I2C总线挂接多个设备_第2张图片

 

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)


 

 

 

 

你可能感兴趣的:(树莓派,编程)