5

nodejs serialport モジュール ( https://npmjs.org/package/serialport ) を使用していますが、シリアル ポートへの書き込み時に問題が発生しています。

以下に示すようにポートに単純に書き込むと、シリアル デバイスはコマンドを取得しません。

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
sp.write("SYST:ADDR?\n");

ただし、以下に示すように setTimeout を使用すると、機能するように見えますか?

var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
setTimeout(function(){sp.write("SYST:ADDR?\n")},1000);

参考までに、「serialPortPath」はコードの別の場所に設定されています。

何が起こっているのかわかりません...何かアイデアはありますか?

4

2 に答える 2

1

github ( https://github.com/voodootikigod/node-serialportページ... 基本的に、以下に示すように「open」イベントが欠落していたようです:

serialPort.on("open", function () {
  console.log("open");
  serialPort.on("data", function(data) {
    console.log("data received: " + data);
  });  
  serialPort.write("SYST:ADDR?\n", function(err, results) {
    console.log("err: " + err);
    console.log("results: " + results);
  });  
});
于 2013-01-24T03:06:43.003 に答える