例程讲解-02-i2c_control i2c控制
# I2C 控制
#
# 这个例子真是了如何使用i2c总线在标准的EEPROM上转换数据,为了运行这个例子,
# 你需要插入Thermopile热成像扩展板。
from pyb import I2C
i2c = I2C(2, I2C.MASTER) # i2c总线必须是2。
mem = i2c.mem_read(256, 0x50, 0) # eeprom从地址是0x50。
print("\n[")
for i in range(16):
print("\t[", end='')
for j in range(16):
print("%03d" % mem[(i*16)+j], end='')
if j != 15: print(", ", end='')
print("]," if i != 15 else "]")
print("]")
在 OpenMV RT 上不能用pyb模块,只能使用以下machine模块:
# I2C 控制
#
# 这个例子真是了如何使用i2c总线在标准的EEPROM上转换数据,为了运行这个例子,
# 你需要插入Thermopile热成像扩展板或者一个I2C EEPROM。
from machine import I2C
i2c = I2C(1) # i2c总线必须是1。
print(i2c.scan()) # 扫描连接的设备
mem = i2c.readfrom_mem(0x50, 0, 256) # eeprom从地址是0x50。
print("\n[")
for i in range(16):
print("\t[", end="")
for j in range(16):
print("%03d" % mem[(i * 16) + j], end="")
if j != 15:
print(", ", end="")
print("]," if i != 15 else "]")
print("]")
pyb模块内的I2C.mem_read函数文档: 星瞳科技OpenMV官方中文文档函数讲解: