Linux I2C 的使用
MaixPy3 把 Linux 系统中的 I2C 的使用方法进行封装和简化使用,让用户使用起来更加的简单。
使用方法
目前 MaixPy3 所封装的 I2C 只有主机模式,还不能使用从机模式。
准备
使用之前需要将硬件连接好,将 SDL 和 SDA 的两个数据线连接到开发板上的对应的 SDA 和 SDL 的管脚上。通过查看开发板上的 管脚定义图 ,确定所接上的 I2C 总线的序号,一般是以 I2C-x 或者是 SDL.x、SDA.x 的形式标示,x为总线序号。
如树莓派中的管脚定义图,这里的 SDA.1 和 SCL.1 指是的 I2C-1 的总线
连接
扫描设备
查看总线上的设备地址(返回十进制的数据)
In [1]:
from maix import i2c
print(i2c.scan())
[ rpyc-kernel ]( running at Wed Jan 5 17:22:45 2022 )
[38]
实例化设备
/dev/i2c-x
是指所使用的 I2C 总线序号
In [1]:
from maix import i2c
i2c = i2c.I2C('/dev/i2c-2', 0x26)
[ rpyc-kernel ]( running at Wed Jan 5 17:22:49 2022 )
读取设备寄存器信息
In [1]:
from maix import i2c
i2c = i2c.I2C('/dev/i2c-2', 0x26)
print(i2c.read(0x1, 1))
[ rpyc-kernel ]( running at Wed Jan 5 17:22:53 2022 )
bytearray(b'\x13')