0

i2c.read(7) を実行すると、結果が文字列として保存されます。私が間違っていvar d = i2c.read(7)なければ、オブジェクトとして保存する必要があると思いましたか? mraa Javasript i2c API が何であるかについてはまだ不明です。i2c.read() は結果をオブジェクトまたは文字列として保存することになっていますか? 反対の場合、私が正しく行っていないことは何ですか?

console.log 出力:
JSON.stringify: "\u00012.974\u0000"
typeof: string
結果: 2.974

コード:

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);
4

1 に答える 1

0

最近のバージョンの mraa (0.5.4+) は、i2c.read() の結果を node_buffer オブジェクトとして保存します。文字列を返すために使用されていた古いバージョンを使用している可能性があります。getVersion() 呼び出しで確認してください。

于 2015-02-18T17:50:20.637 に答える