ESP8266与Arduino Uno之间的串行通信一起发送/接收数据

时间:2020-04-04 10:27:41

标签: ios arduino-esp8266

如果我分别从Arduino向ESP8266 WiMos Mini WiFi发送/接收数据,它可以正常工作,但是如果我以相同的代码一起发送和接收数据,则ESP可以成功接收数据,但是Arduino无法从ESP接收任何数据。

是串行端口问题还是其他问题?由于Arduino成功接收数据,因此仅接收而不发送。还是请讲另一个问题!我正在使用TX / RX串行。

Arduino代码

#include <SoftwareSerial.h>

#include <ArduinoJson.h>

void setup() {

Serial.begin(9600);

}

void loop() {

SendData();

delay(2000);

ReceiveData1();

delay(2000);

}

void SendData(){

StaticJsonBuffer<1000> jsonBuffer;

JsonObject& root = jsonBuffer.createObject();

String ali="AmAli";

String Sani="AmSani";

root["data1"] = ali;

root["data2"] = Sani;

if(Serial.available()==0)

{

Serial.println("Serial not available");

}

if(Serial.available()>0)

{

root.printTo(Serial);

}

return;

}

void ReceiveData1(){

StaticJsonBuffer<1000> jsonBuffer;

JsonObject& root1 = jsonBuffer.parseObject(Serial);

if (root1 == JsonObject::invalid()){

Serial.println("invalid Input :");

return;

}

Serial.println("JSON received and parsed");

root1.prettyPrintTo(Serial);

Serial.print("Sunny ");

int Sunny=root1["Sunny"];

Serial.println(Sunny);

Serial.print(" Saama ");

int Saama=root1["Saama"];

Serial.println(Saama);

Serial.println("---------------------xxxxx--------------------");

return;

}

ESP代码

#include <ArduinoJson.h>

void setup() {

// Initialize Serial port

Serial.begin(9600);

}

void loop() {

SendData();

delay(2000);

ReceiveData();

delay(2000);

}

void ReceiveData(){

StaticJsonBuffer<1000> jsonBuffer;

JsonObject& root = jsonBuffer.parseObject(Serial);

if (root == JsonObject::invalid()){

Serial.println("invalid Input :");

return;

}

Serial.println("JSON received and parsed");

root.prettyPrintTo(Serial);

Serial.print("Data 1 ");

Serial.println("");

String data1=root["data1"];

Serial.print(data1);

Serial.print(" Data 2 ");

String data2=root["data2"];

Serial.print(data2);

Serial.println("");

Serial.println("---------------------xxxxx--------------------");

return;

}

void SendData(){

StaticJsonBuffer<1000> jsonBuffer;

JsonObject& root1 = jsonBuffer.createObject();

root1["Sunny"] = 65;

root1["Saama"] = 56;

if(Serial.available()==0)

{

Serial.println("Serial not available");

}

if(Serial.available()>0)

{

root1.printTo(Serial);

}

return;

}

0 个答案:

没有答案
相关问题