将新的SerialPort声明为变量不允许我读取数据吗? SerialPort节点js 声明为变量声明为常量解析器监听器声明为变量的端口的控制台输出控制台输出,用于声明为const的端口

问题描述

我想做什么?

对于我的电子项目,我试图将端口声明为变量,以便用户可以根据需要更改路径。 (需要此功能

我确实在文档中看到了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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)