在uart中接收整个字符串以发送数据

时间:2019-11-06 11:59:30

标签: arduino arduino-uno uart nodemcu

我将NodeMCU连接到Arduino Uno。目标是每1秒接收整个字符串,例如“ 12”。

这是我在Arduino Uno端(发送方)的代码

int mock = 0;

void setup() {
  Serial.begin(115200);
  s.begin(115200);
}

void loop() {
    //Write mock to NodeMCU
    s.print((int)mock,DEC);
    s.println();

    mock++;
    delay(1000);
}

在NodeMCU一侧(接收方)

 char data; //Initialized variable to store recieved data
 String line;
 void setup() {
   Serial.begin(115200);
   s.begin(115200);
   while (!Serial) {
    ; 
  }
}

void loop() {

    if( s.available() >= 2) {
        for (int i = 0; i< 2; i++ ) {
            data = s.read();
            line += data;
        }
        delay(1000);
    }


    Serial.print(line);

}

但是串行面板上的结果不是我期望的 [![串行终端] [1]] [1]

https://i.stack.imgur.com/NGC3k.png

我该如何做才能收到类似的东西

12
(wait one sec)
13
(wait one sec)
....

Node MCU只打印整个内容,我不能延迟。

0 个答案:

没有答案