使用Node.js写入后读取串行端口

w8biq8rn  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(239)

我的node.js脚本使用serialport npm包来读写COM5端口,该端口连接到RS-232设备。此设备仅在接收到连接到它的PC发送的命令时写入串行端口。
如何读取RS-232设备写入后返回的内容?

var SerialPort = require('serialport');
var port = new SerialPort('COM5', {
    parser: SerialPort.parsers.readline('\r')
}, function() {
    port.write('#01RD\r', function(err) {
        if(err)
            console.log('Write error')
        else {
            // HOW TO READ RESPONSE FROM DEVICE?
        }
    });
    port.write('#01VER\r', function(err) {
        if(err)
            console.log('Write error')
        else {
            // HOW TO READ RESPONSE FROM DEVICE?
        }
    });
});
yfwxisqw

yfwxisqw1#

我认为这是一个更好的方法。通过函数调用,首先创建你的阅读函数:

var serialport = require("serialport");
var SerialPort = serialport.SerialPort;

var sp = new SerialPort("/dev/ttyACM0", {
  baudrate: 9600,
  parser: serialport.parsers.readline("\n")
});

function write() //for writing
{
    sp.on('data', function (data) 
    {
        sp.write("Write your data here");
    });
}

function read () // for reading
{
    sp.on('data', function(data)
    {
        console.log(data); 
    });
}

sp.on('open', function() 
{
    // execute your functions
    write(); 
    read(); 
});

相关问题