首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NodeJS串口将多个数据串行写入Arduino

如何使用NodeJS串口将多个数据串行写入Arduino
EN

Stack Overflow用户
提问于 2020-11-21 21:09:18
回答 1查看 197关注 0票数 1

我正在尝试使用同一端口写入多个数据,但我不能这样做。但是node-serialport同时提供了多个数据读取功能。如何同时写入多个数据

这样我就可以尝试了

代码语言:javascript
复制
- 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代码

代码语言:javascript
复制
-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);
}

如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 17:17:30

我不确定这是不是解决方案,但我猜你的代码中有一个bug……

代码语言:javascript
复制
  port.write(datax);
  port.write(datax);

猜猜最后一个参数是不是应该是日期?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64943420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档