首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-serialport 6.x.x在Windows上无法接收数据或错误(但在Mac上可以)

node-serialport 6.x.x在Windows上无法接收数据或错误(但在Mac上可以)
EN

Stack Overflow用户
提问于 2018-08-01 07:20:38
回答 1查看 141关注 0票数 0

我正在使用下面的库通过USB连接到外部设备:

https://github.com/node-serialport/node-serialport

我设置了以下示例项目来缩小问题的范围:

https://github.com/nyoung697/node-serial-test

这段代码可以在我的Mac上运行。我要连接的设备接受ascii命令,回车符返回以终止该命令。

在示例项目中,我传入了'V\r‘,并期望返回设备的版本。当我在Mac上运行这段代码时,我得到了预期的响应。

然而,当我在我的Windows10机器上运行它时,我根本得不到任何响应。port.on('data')或port.on('error')事件都未命中。

我测试了将序列端口库降级到版本4.0.7,它确实起作用了。

有谁知道4 => 6之间可能发生了什么变化吗?

附注:我编辑了这个问题,因为我最初认为它与电子有关,但是在只用node.js做了这个简单的测试后,我相信我已经把范围缩小到了Windows上的这个库版本。

EN

回答 1

Stack Overflow用户

发布于 2018-08-02 03:13:21

好吧..。我刚想通了。

我所需要做的就是将'rtscts‘属性添加到我传递给构造函数的openOptions对象中,并将其设置为true。

代码语言:javascript
复制
const SERIAL_PORT_SETTINGS = {
    baudRate: 115200,
    rtscts: true
};

let port = new SerialPort(devicePath, SERIAL_PORT_SETTINGS);

我通过仔细阅读发行说明找到了这一点。我注意到从v5.x.x到6.0.0的重大变化包括将这个值默认为false。

窗口:我们以前硬编码让windows的RTS一直处于打开状态,现在默认设置为关闭。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51623375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档