将新的 SerialPort 声明为变量不允许我读取数据?串口节点js

问题描述 投票:0回答:1

我想做什么?

对于我的电子项目,我试图将我的端口声明为变量,以便用户可以在必要时更改路径。 (需要这个功能)

我确实在文档中看到了 port.update() 函数,但我无法让它用于更新路径。只是想找出一种动态更新端口路径的方法,同时仍然能够接收传入数据。

我的问题是什么?

我有一个解析器,用于侦听来自微控制器的传入数据,但是当我将端口声明为变量时,它不会接收任何传入数据。如果我将端口声明为常量,则解析器能够毫无问题地读取传入数据。

代码

声明为变量

// where arg is the com specified by the user, I tried it with COM4 but still doesn't work
var port = new SerialPort(arg, {
    baudRate: 115200,
    autoOpen:false
})

声明为常量

const port = new SerialPort("COM4",{
    autoOpen:false,
    baudRate:115200
});

解析器监听器

const Readline = SerialPort.parsers.Readline;
const parse = port.pipe(new Readline({ delimiter: '\r\n' }));
parse.on('data',function(data){console.log(data)})

声明为变量的端口的控制台输出

is port open => true
message written

声明为 const 的端口的控制台输出

is port open => true
message written
Hello from Micro-controller
javascript node.js electron serial-port node-serialport
1个回答
0
投票

你的路径问题解决了吗?我也有同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.