使用以下代码我可以在不同的串口上发送和接收数据。 我删除了第二个端口,只想使用一个端口。我的问题是 - 我可以在同一个端口上发送和读取数据(如果可能的话)吗?
我正在使用: - SerialPort版本:4.0.7 - NodeJS版本:7.9.0 - 电子:1.7.12
const portName = 'COM21'
var port = new serialport(portName, {baudRate: 19200})
//**** SENDING
var sent_data = 'Test data sent\r'
port.open(function(err){
if(err){
return console.log('Error opening port: ', err.message)
}
port.write(sent_data, function(err){
if(err){
return console.log('Error on write', err.message);
}
console.log('Port.write: ', sent_data);
});
})
//****RECEIVING
port.on('data', function(data){
// decoding uint8Array to string
if (!("TextDecoder" in window))
alert("Sorry, this browser does not support TextDecoder...");
var enc = new TextDecoder();
var arr = new Uint8Array(data);
ready = enc.decode(arr)
console.log('Data received: ', ready);
document.getElementById('data').textContent = ready
});
// Read data that is available but keep the stream from entering "flowing mode"
port.on('readable', function () {
console.log('Data2:', port.read());
});
document.writeln(ready)
答案 0 :(得分:0)
是强>
您可以使用node serial-port写入同一个串口并从中读取。
port = new SerialPort(options...);
port.write("some data");
port.on("data", (data) => {
console.log(data);
});