示例代码
板级配置
板级详细配置说明见:app.json - 全局配置文件
{
"version": "1.0.0",
"io": {
"I2C0": {
"type": "I2C",
"port": 0,
"addrWidth": 7,
"freq": 400000,
"mode": "master",
"devAddr": 72
}
},
"debugLevel": "DEBUG"
}
业务脚本
var i2c = require('i2c');
var lm75 = i2c.open({
id: 'I2C0'
});
function lm75tmpGet()
{
var temp;
var sig = 1;
var regval = lm75.readMem(0x00, 2);
console.log('read regval is ' + regval);
var tempAll = (regval[0] << 8) + regval[1];
console.log('tempAll is ' + tempAll);
if (regval[0] & 0x80 != 0) {
tempAll = ~(tempAll) + 1;
sig = -1;
}
tempAll = tempAll >> 5;
console.log('tempAll final data ' + tempAll);
temp = tempAll * 0.125 * sig;
return temp;
}
setInterval(function(){
temp = lm75tmpGet();
console.log('lm75 data is ' + temp);
},1000);
open(Object options)
打开I2C,创建 I2C 实例。
入参
属性 | 类型 | 必填 | 描述 |
id | String | 是 | 指定要打开的I2C端口。 |
返回
实例。
I2C 实例
I2C.write(String|ArrayBuffer data)
发送数据,该函数为阻塞函数,I2C发送完成后才会返回。
入参
属性 | 类型 | 必填 | 描述 |
data | String或ArrayBuffer | 是 | 要发送的数据 |
I2C.writeMem(ArrayBuffer memaddr, String|ArrayBuffer data)
向寄存器地址memaddr
发送数据,该函数为阻塞函数,I2C发送完成后才会返回。
入参
属性 | 类型 | 必填 | 描述 |
memaddr | Number | 是 | 寄存器地址memaddr |
data | String或ArrayBuffer | 是 | 要发送的数据 |
I2C.read(Number bytes)
主动读取指定bytes
的I2C数据。该函数为阻塞函数,会一直等待读取指定bytes
的数据。
入参
属性 | 类型 | 必填 | 描述 |
bytes | Number | 是 | 需要读取的字节个数 |
返回值
ArrayBuffer类型,读取到的I2C数据。
I2C.readMem(String|ArrayBuffer memaddr, Number bytes)
主动向寄存器地址memaddr
读取指定bytes
的I2C数据。该函数为阻塞函数,会一直等待读取指定bytes
的数据。
入参
属性 | 类型 | 必填 | 描述 |
memaddr | Number | 是 | 寄存器地址memaddr |
bytes | Number | 是 | 需要读取的字节个数 |
返回值
读取到的I2C数据,ArrayBuffer类型。
I2C.close()
关闭I2C实例。
在文档使用中是否遇到以下问题
更多建议
匿名提交