例程讲解-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官方中文文档函数讲解:

results matching ""

    No results matching ""