I2C
— 两线串行协议¶
使用示例¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # coding=utf-8
# This is a sample Python script.
from driver import I2C
print("-------------------i2c test--------------------")
i2c = I2C()
i2c.open("mpu6050")
regval = bytearray(1)
regval[0] = 0x5
print(regval)
ret = i2c.write(regval)
print(ret)
i2c.close()
print("-------------------i2c test--------------------")
|
配置信息¶
board.jon 语法和功能的详细配置项信息请参考 BoardConfig — 硬件端口配置文件(board.json)详解 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | {
"version": "1.0.0",
"io": {
"mpu6050": {
"type": "I2C",
"port": 1,
"addrWidth": 7,
"freq": 100000,
"mode": "master",
"devAddr": 105
}
},
"debugLevel": "DEBUG"
}
|
函数接口¶
-
I2C.
open
(node)[源代码]¶ 打开并根据board.json配置实例
- 参数
node – 节点名称,节点定义在board.json文件中
- 返回
0: 成功,其他: 失败
- 引发
OSError – EINVAL
-
I2C.
write
(dataBuffer, size)[源代码]¶ 发送数据,I2C发送完成/超时后才会返
- 参数
dataBuffer – 待写入的数据,首个元素为待操作的寄存器地址,单字节。
size – 待写入的数据长度,包括寄存器地址信息。
- 返回
负数表示异常,正数或0表示真实写出的数据
- 引发
OSError – EINVAL
-
I2C.
read
(dataBuffer, size)[源代码]¶ 读取数据,I2C读取完成/超时后才会返
- 参数
dataBuffer – 读出来数据的存储空间
size – 待读取的数据长度
- 返回
>0: 成功读取数据的字节数,其他: 失败
- 引发
OSError – EINVAL