多个数据进入节点串行端口

时间:2018-08-20 00:28:29

标签: javascript node.js serial-port readline

我在node js中使用serialport并像这样写,但是有多个数据进来。

日志中的数据为四行,每种类型为字符串。

当我使用其他通信程序时,我可以获得一行数据。

我想获得一行数据。我该如何解决这个问题?

var serialport = require('serialport');
var Readline = serialport.parsers.Readline ;
var parser = new Readline();

function port_connect(port_name,io){

    port = new serialport(port_name,{
        baudRate:9600 
    });

    port.on('open',function(err){
        if(err){
        console.log('Error on open: ' , err.message);
        }
        else{
        console.log('open port');

            Loop = setInterval(function(){  

                port.write("*IDN?"+'\n');
                port.pipe(parser);
                parser.on('data',function(data){
                    if(data != null){
                        clearInterval(Loop);
                        console.log(data);
                    }
                });
            },1000);    
        }
    });
}

0 个答案:

没有答案