【发布时间】:2011-08-27 13:03:06
【问题描述】:
我一直在寻找这个问题的答案......
基本上,我想从串行端口(在这种情况下,通过 USB)读取数据。我查看了 node-serialport 模块,但在第一个结果形成串行端口后它一直停滞不前。我希望它在收到数据时会吐出数据。好像缓冲区已满,需要以某种方式刷新?
我稍微修改了我在这里找到的演示中的代码 - https://github.com/voodootikigod/node-serialport/tree/master/tests
这是我的代码:
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。
任何帮助都会很棒,干杯,
詹姆斯
【问题讨论】:
-
你忘记了
var前面的serial!您是否尝试过添加其中一个解析器? -
谢谢,我刚刚添加了。我已经尝试过其他解析器(用于新行),但这似乎也没有奏效。
-
@James 在构造函数中还有一个缓冲区大小选项。试着往上抽! (默认为 255)。
-
@Raynos,也试过了 :(,谢谢!
-
@James 在
--debug中编译,然后尝试调试该模块或引发 github 错误
标签: node.js serial-port