如何用python的i2c教程_[MicroPython]TPYBoard I2C的用法

原创版权归山东萝卜科技有限公司所有,转载必须以链接形式注明作者和原始出处。

先看看基本用法:

from pyb import I2C

i2c = I2C(1)                         # create on bus 1

i2c = I2C(1, I2C.MASTER)             # create and init as a master

i2c.init(I2C.MASTER, baudrate=20000) # init as a master

i2c.init(I2C.SLAVE, addr=0x42)       # init as a slave with given address

i2c.deinit()                         # turn off the peripheral

i2c.init(I2C.MASTER)

i2c.send('123', 0x42)        # send 3 bytes to slave with address 0x42

i2c.send(b'456', addr=0x42)  # keyword for address

i2c.is_ready(0x42)           # check if slave 0x42 is ready

i2c.scan()                   # scan for slaves on the bus, returning

#   a list of valid addresses

i2c.mem_read(3, 0x42, 2)     # read 3 bytes from memory of slave 0x42,

#   starting at address 2 in the slave

i2c.mem_write('abc', 0x42, 2, timeout=1000) # write 'abc' (3 bytes) to memory of slave 0x42

# starting at address 2 in the slave, timeout after 1 second

I2C的用法:

class pyb.I2C(bus, ...)

bus,I2C总线的序号i2c.deinit(),解除I2C定义

i2c.init(mode, *, addr=0x12, baudrate=400000, gencall=False),初始化mode,只能是 I2C.MASTER 或 I2C.SLAVE

addr,7位I2C地址

baudrate,时钟频率

gencall,通用调用模式

i2c.is_ready(addr),检测I2C设备是否响应,只对主模式有效

i2c.mem_read(data, addr, memaddr, *, timeout=5000, addr_size=8),读取数据data,整数或者缓存

addr,设备地址

memaddr,内存地址

timeout,读取等待超时时间

addr_size,memaddr的大小。8位或16位

i2c.mem_write(data, addr, memaddr, *, timeout=5000, addr_size=8),写入数据,参数含义同上

i2c.recv(recv, addr=0x00, *, timeout=5000),从总线读取数据recv,需要读取数据数量,或者缓冲区

addr,I2C地址

timeout,超时时间

i2c.send(send, addr=0x00, *, timeout=5000)send,整数或者缓冲区

addr,I2C地址

timeout,超时时间

i2c.scan(),搜索I2C总线上设备。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值