【发布时间】:2015-12-05 14:06:04
【问题描述】:
我想在 Raspberry Pi 1 上使用 nodeJs v0.12.6 解析串行数据。
cat 的数据是正确的,但 nodeJs(serialPort 模块)打乱了数据
cat 数据正常
stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
cat /dev/ttyAMA0
给予
MOTDETAT 000000 B
ADCO XXXXXXXXXXX>
OPTARIF HC.. <
ISOUSC 30 9
HCHC 042116615
HCHP 034246387 8
PTEC HP..
IINST 001 X
IMAX 009 H
HHPHC C .
MOTDETAT 000000 B
ADCO XXXXXXXXXXXX>
result with CR-ETX-STX-LF 其中块分隔符是 CR-ETX-STX-LF
2。 nodeJs 的数据不正确
我的nodeJs服务器
var serialPort = new serialport.SerialPort('/dev/ttyAMA0', {
baudrate: 1200,
dataBits: 7,
parity: 'even',
stopBits: 1,
flowControl :true,
//CR-ETX-STX-BR
parser: serialport.parsers.readline(String.fromCharCode(13,3,2,10))
});
serialPort.on('data', function(data) {
console.log("data="+data);
});
结果是
ADCO 0PTARIF H 9
2116615
HCHP 031
..
01 X
9 H
.
T 000000
ADCO 0218 >
OC.. <
所有数据都被打乱了,为什么?
好像我收到了 8 个字节,然后丢失了 8 个字节,然后收到了 8 个字节,...
【问题讨论】:
标签: node.js raspberry-pi node-serialport