首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs -从串行端口读取

nodejs -从串行端口读取
EN

Stack Overflow用户
提问于 2011-05-18 04:04:23
回答 2查看 24.5K关注 0票数 13

我一直在寻找这个问题的答案...

基本上,我想从串行端口(在本例中,通过USB)读取数据。我已经检查了node-serialport模块,但它在从串行端口得到第一个结果后一直停滞不前。我以为它一收到数据就会吐出来。就好像一个缓冲区被填满了,需要以某种方式刷新吗?

我稍微修改了我在这里找到的演示代码- https://github.com/voodootikigod/node-serialport/tree/master/tests

下面是我的代码:

代码语言:javascript
复制
    var sys = require("sys"),
    repl = require("repl"),
    serialPort = require("serialport").SerialPort;

    // Create new serialport pointer
    var serial = new serialPort("/dev/tty.usbmodem1d11" , { baudrate : 9600 });

    // Add data read event listener
    serial.on( "data", function( chunk ) {
        sys.puts(chunk);
    });


    serial.on( "error", function( msg ) {
        sys.puts("error: " + msg );
    });

    repl.start( "=>" );

我用的是Arduino,所以是9600波特率。

任何帮助都会很棒,干杯,

詹姆斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-18 23:30:30

我还遇到了串行端口读取的问题。这是由于node.js v4.7 (请参阅this issue)中的一个错误造成的

然而,在切换到较旧版本的Node.js (v4.0)后,它可以正常工作。

它可能也适用于v4.6以上的版本,但我还没有验证这一点。

票数 9
EN

Stack Overflow用户

发布于 2011-06-29 01:22:29

node-serialport的作者。我已经追踪到了这个问题,它是由于node.js中IOWatcher的编译问题造成的。我已经修改了从串行端口读取的策略,现在它应该在所有情况下都能正常工作。请确保您使用的是node-serialport 0.2.6及更高版本。

现在开始构建JS控制的机器人吧!

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

https://stackoverflow.com/questions/6036427

复制
相关文章

相似问题

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