Получение всей строки в UART отправка данных - PullRequest
0 голосов
/ 06 ноября 2019

Я подключаю свой NodeMCU к Arduino Uno. Цель состоит в том, чтобы получать всю строку, например «12», каждые 1 сек.

Это мой код на стороне 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)
....

Узел MCU просто печатает все это, я не могу отложить это.

...