将数据从NodeMCU Esp8266发送到UNO

问题描述

我试图使用UART从8266向UNO发送数据,但很难使它工作。

我设法使用Tx-> Rx引脚,或者使用UNO上的SoftwareSerial-> ESP上的Rx,从UNO发送到ESP,两者都可以正常工作。 现在,当我试图做同样的事情时,反之亦然,事实并非如此。我已经试过在ESP上同时发送Tx和Tx1(Serial1),并在UNO上同时尝试Rx(0)和SoftwareSerial Rx引脚。

PS:是的,我正在使用电平转换器。

ESP代码

    #include <Arduino.h>

void setup()
{
  // Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  Serial1.println("1");
  // Serial.println("1"); // SENDING TO UNO
  delay(500);
}

UNO:

#include <Arduino.h>
#include <SoftwareSerial.h>

SoftwareSerial mySerial(5,6);

char receivedChar;
boolean newData = false;

void recvOneChar();
void showNewData();

void setup()
{
  mySerial.begin(9600);
  Serial.begin(9600);
  Serial.println("<Arduino is ready>");
}

void loop()
{
  recvOneChar();
  showNewData();
}

// SoftwareSerial Rx pin
void recvOneChar()
{
  if (mySerial.available() > 0)
  {
    receivedChar = mySerial.read();
    newData = true;
  }
}

// normal Rx ( 0 ) 
// void recvOneChar()
// {
//   if (Serial.available() > 0)
//   {
//     receivedChar = Serial.read();
//     newData = true;
//   }
// }

void showNewData()
{
  if (newData == true)
  {
    Serial.print("This just in ... ");
    Serial.println(receivedChar);
    newData = false;
  }
}

我在输出上什么也没有,或者在最好的情况下什么也没有,但是很少(我什至不知道如何复制它)我得到了垃圾值。想到了吗?

我的最终目标是从同一代码/项目中的两个板同时发送/接收数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)