问题描述
我试图使用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 (将#修改为@)