簡體   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