我一直在寻找这个问题的答案...
基本上,我想从串行端口(在本例中,通过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波特率。
任何帮助都会很棒,干杯,
詹姆斯
发布于 2011-05-18 23:30:30
我还遇到了串行端口读取的问题。这是由于node.js v4.7 (请参阅this issue)中的一个错误造成的
然而,在切换到较旧版本的Node.js (v4.0)后,它可以正常工作。
它可能也适用于v4.6以上的版本,但我还没有验证这一点。
发布于 2011-06-29 01:22:29
node-serialport的作者。我已经追踪到了这个问题,它是由于node.js中IOWatcher的编译问题造成的。我已经修改了从串行端口读取的策略,现在它应该在所有情况下都能正常工作。请确保您使用的是node-serialport 0.2.6及更高版本。
现在开始构建JS控制的机器人吧!
https://stackoverflow.com/questions/6036427
复制相似问题