将串口原始数据缓冲区转换为数字数组?

时间:2017-01-18 13:47:52

标签: javascript node.js

我安装了serialport模块。

在此功能中:

port.on('data', function (data) {.....});

data(回调的参数)保存在串行端口上接收的原始数据。我知道data是缓冲区。

如何将缓冲区转换为数字数组(8位)?

2 个答案:

答案 0 :(得分:0)

根据文档,您将收到缓冲区。所以你应该能够从

获得它
s = data.toString('hex');
ss = s.match(/.{1,2}/g);
numbers = ss.map(function (x) {return parseInt(x, 16);});

答案 1 :(得分:0)

将十六进制作为字符串记录:

port.on('data', function (data) {
    console.log('> ', data.toString('utf-8'))
})