使用一组串行命令解析具有不同ByteLength的数据

时间:2019-03-25 11:30:45

标签: node.js serial-communication node-serialport

我需要获取一组将定期运行的命令的值,例如

第1组命令的数量:10

第2组命令的数量:4

问题在于设置1 命令将提供 2个字节,而设置2 命令将提供 4个字节是独立的十六进制值的数据,我需要对两组命令的响应分别进行计算。这些命令也将定期发送。我正在使用节点串行端口库中提供的解析器

const ByteLength = require('@serialport/parser-byte-length');
parser = myPort.pipe(new ByteLength({ length: 2})); // pipe the serial stream to the parser
parser.on('data', console.log);

从2更改为4时,字节长度不能保持数据的持久性,就像每当发生数据事件时,它都会将传入的缓冲区抛出并开始连接。

  1. 方法正确吗?
  2. 由于只有一个全局解析器和串行端口实例,因此如何选择变量ByteLength
  3. setInterval是否适合这种情况

0 个答案:

没有答案