I²C¶
该 i2c
模块允许您使用 I²C 总线协议与连接到您的电路板的设备进行通信。可以同时连接多个从设备,每个从设备都有自己唯一的地址,该地址要么固定在设备上,要么配置在设备上。您的电路板充当 I²C 主机。
此处所述的原因,我们对设备使用 7 位寻址 。
这可能与其他 micro:bit 相关解决方案不同。
您应该如何准确地与设备通信,即发送哪些字节以及如何解释响应,取决于相关设备,并且应在该设备的文档中单独描述。
职能¶
-
microbit.i2c.
init
(freq=100000, sda=pin20, scl=pin19)¶ 使用
freq
指定的sda
和scl
引脚上的指定时钟频率重新初始化外设。警告
更改 I²C 引脚的默认值将使加速度计和指南针停止工作,因为它们在内部连接到这些引脚。
-
microbit.i2c.
scan
()¶ 扫描总线以查找设备。返回与响应扫描的那些设备对应的 7 位地址列表。
-
microbit.i2c.
read
(addr, n, repeat=False)¶ n
从具有 7 位地址的设备读取字节addr
。如果repeat
是True
,则不会发送停止位。
-
microbit.i2c.
write
(addr, buf, repeat=False)¶ 将字节从
buf
7 位地址写入设备addr
。如果repeat
是True
,则不会发送停止位。
连接¶
您应该将设备的 SCL
引脚连接到 micro:bit 引脚 19,将设备的SDA
引脚连接到 micro:bit 引脚 20。您还必须将设备的地连接到 micro:bit 地(引脚GND
)。您可能需要使用外部电源或 micro:bit 为设备供电。
电路板的 I²C 线上有内部上拉电阻,但对于特别长的电线或大量设备,您可能需要添加额外的上拉电阻,以确保无噪声通信。