繁体   English   中英

NodeJS未从串行端口接收数据

[英]NodeJS not receiving data from serialport

我可以获取串行端口列表,并成功打开所需的端口。 但是,从不触发数据接收事件。 打开端口后,该端口发送少量数据。 我已验证端口正在使用USB监视器发送数据。

// Open event example
const SerialPort = require('serialport');
var port = new SerialPort('COM220', { autoOpen:true, baudRate: 921600 });


port.on('open', () => {
  console.log('Port Opened');

});

// Switches the port into "flowing mode"
port.on('data', function (data) {
  console.log('Data:', data);
});

// Read data that is available but keep the stream from entering "flowing mode"
port.on('readable', function () {
  console.log('Data:', port.read());
});

我有一些想法:

  1. 该波特率非常高,不是串行端口的标准。 为了确保两个设备都可以匹配,我会降低很多。 38,4? 9600? 这足以证明您的理论。
  2. 您可以登录console.log(port)端口本身,开始比较行为并查看得到的结果。
  3. 可读模式与正常模式不同。 这样做的结果是什么?

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

  4. 您可以通过在数据字符后附加字符串来创建自己的缓冲区。

    var bfr =“”; port.on('data',function(data){bfr + = data.toString(); console.log(bfr);}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM