英特尔爱迪生:MRAA javascript i2c.read()将结果存储为对象或字符串?

英特尔爱迪生:MRAA javascript i2c.read()将结果存储为对象或字符串?,javascript,i2c,intel-edison,Javascript,I2c,Intel Edison,当我执行i2c.read7时,结果将存储为字符串。如果我没有弄错的话,我认为var d=i2c.read7应该存储为对象?我仍然不清楚mraa Javasript i2c API是什么。i2c.read是否应该将结果存储为对象或字符串?如果是对象,那么我没有正确地做什么 console.log输出: JSON.stringify:\u00012.974\u0000 类型:字符串 结果:2.974 代码: mraa 0.5.4+的最新版本将i2c.read的结果存储为节点\缓冲区对象。您可能使用的

当我执行i2c.read7时,结果将存储为字符串。如果我没有弄错的话,我认为var d=i2c.read7应该存储为对象?我仍然不清楚mraa Javasript i2c API是什么。i2c.read是否应该将结果存储为对象或字符串?如果是对象,那么我没有正确地做什么

console.log输出: JSON.stringify:\u00012.974\u0000 类型:字符串 结果:2.974

代码:


mraa 0.5.4+的最新版本将i2c.read的结果存储为节点\缓冲区对象。您可能使用的是用于返回字符串的旧版本,请使用getVersion调用进行检查

var m = require('mraa');
var i2c = new m.I2c(1);
i2c.address(0x63);

i2c.write("R");
console.log("Reading I2C..");

function readPH() {
  var d = i2c.read(7);
  console.log("JSON.stringify: " + JSON.stringify(d));
  console.log("typeof: " + typeof d);
  console.log("Result: " + d);
}

setTimeout(function (e) { readPH(); }, 1000);