gpt4 book ai didi

javascript - 在 Node.js 中使用串口自动连接到特定设备

转载 作者:行者123 更新时间:2023-11-30 15:36:02 27 4
gpt4 key购买 nike

我是 Node 和异步编程的新手(我来自 C 语言背景),并且我在使用 Node.js 中的串行端口自动连接到具有特定 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')
});

});

关于javascript - 在 Node.js 中使用串口自动连接到特定设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41534994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com