io2*_*ork 5 node.js node-serialport
我正在使用 nodejs串行端口模块 ( https://npmjs.org/package/serialport ),并且在写入串行端口时遇到问题。
如果我只是按如下所示写入端口,则串行设备永远不会收到命令。
var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
sp.write("SYST:ADDR?\n");
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用如下所示的 setTimeout,那么它似乎有效吗?
var serialport = require("serialport");
var sp = new serialport.SerialPort(serialPortPath);
setTimeout(function(){sp.write("SYST:ADDR?\n")},1000);
Run Code Online (Sandbox Code Playgroud)
仅供参考,“serialPortPath”在代码中的其他地方设置。
我不确定发生了什么......有什么想法吗?
我想我是从 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);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6219 次 |
| 最近记录: |