[英]Auto-connecting to specific device with serialport in Node.js
我对节点和异步编程非常陌生(我来自C背景),并且在使用Node.js中的serialport自动连接到具有具有特定vendorID的设备的端口时遇到问题。 我让所有事情都分开工作,即。 我可以连接到端口,并且可以找到具有特定vendorID的端口,但是无法连接到找到的端口。 这是我到目前为止的代码:
var SerialPort = require('serialport');
var MYport;
SerialPort.list(function (err, ports) {
ports.forEach(function(port) {
if(port.vendorId == 9999){
console.log('Found It')
MYport = port.comName.toString();
console.log(MYport);
}
});
});
var port = new SerialPort(MYport, {
parser: SerialPort.parsers.readline('\n')
});
运行该命令时,由于在创建和连接端口时未定义MYport,因此会出现错误。
我知道我很可能必须使用回叫功能,但我无法弄清楚。
谢谢您的帮助
SerialPort.list是异步函数,
因此,您需要在发出异步函数的回调后将与串行端口的连接。
像这样:
var SerialPort = require('serialport');
var MYport;
SerialPort.list(function (err, ports) {
ports.forEach(function(port) {
if(port.vendorId == 9999){
console.log('Found It')
MYport = port.comName.toString();
console.log(MYport);
}
});
var port = new SerialPort(MYport, {
parser: SerialPort.parsers.readline('\n')
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.