【问题标题】:Read Serial Port After Writing using Node.js使用 Node.js 写入后读取串口
【发布时间】:2017-04-22 22:40:02
【问题描述】:

我的 node.js 脚本使用serialport npm 包来读取和写入连接到 RS-232 设备的COM5 端口。本设备只有在收到与其相连的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?
        }
    });
});     

【问题讨论】:

    标签: node.js serial-port


    【解决方案1】:

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

    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(); 
    });
    

    【讨论】:

    • 我在 UI 上有一个按钮,用户单击该按钮可以启动串行写入。我应该如何使用事件驱动的方法处理这种读/写?
    • 我明白了,所以我们正在做同样的事情。我现在也在那个部分。他们说我们可以为此使用 Express。检查我的线程stackoverflow.com/questions/41647971/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    相关资源
    最近更新 更多