我正在尝试使用Windows 10笔记本电脑和EnOcean USB 300记忆棒以及以下代码通过node.js和node serialport提取串行数据:
var serialPort = new SerialPort(port, {
baudRate: 57600,
dataBits: 8,
stopBits: 1,
parity: 'none',
xon: false
})
serialPort.on('data', function( data ) {
console.log('Data:', data);
}.bind(this))
在带有EnOcean Pi的Raspberry Pi上使用此代码段,我得到以下缓冲区内容:
<Buffer 55 00 07 07 01 7a f6 50 00 2f f8 66 30 01 ff ff ff ff 37 00 6c>
根据EnOcean ESP 3协议哪个有效
连接了EnOcean USB 300的Windows 10笔记本电脑上的相同代码将返回类似的内容
<Buffer ab 36 22 16 00 4f 67 3a 01 89 9e 73 ff ff ff ff 00>
因此缓冲区中的值似乎在某种程度上发生了移位。我首先想到了波特率,但是57600是协议的正确速率。 Windows中USB记忆棒的设备设置与上面的代码段中的设置相同。
我正在使用Node v10.12.0和node serialport v7.0.2
有人能指出我潜在的问题吗? 非常感谢。