我正在尝试使用同一端口写入多个数据,但我不能这样做。但是node-serialport同时提供了多个数据读取功能。如何同时写入多个数据
这样我就可以尝试了
- index.js-
const SerialPort = require('serialport');
const Readline = SerialPort.parsers.Readline;
const port = new SerialPort('COM3', 9600);
const parser = port.pipe(new Readline({delimiter: '\r\n'}));
function sendToSerial(datax, datay) {
console.log("sending to serial: " + datax, datay);
port.write(datax);
port.write(datax);
}
parser.on('data', (data) => {
const responseArray = JSON.parse(data); // Incoming Data from arduino
sendToSerial1(datax, datay); // Send data to arduino
});Arduino代码
-arduino.ino-
void setup() {
Serial.begin(9600);
delay(1000);
}
void loop() {
if(Serial.available() > 0){
int datax = Serial.parseInt();
int datay = Serial.parseInt();
}
Serial.print(F("{\"temperature1\": "));
Serial.print(t1);
Serial.print(F(", \"moisture1\": "));
Serial.print(h1);
Serial.print(F(", \"temperature2\": "));
Serial.print(t2);
Serial.print(F(", \"moisture2\": "));
Serial.print(h2);
Serial.println(F("}"));
delay(1000);
}如何解决这个问题?
发布于 2021-01-13 17:17:30
我不确定这是不是解决方案,但我猜你的代码中有一个bug……
port.write(datax);
port.write(datax);猜猜最后一个参数是不是应该是日期?
https://stackoverflow.com/questions/64943420
复制相似问题