Arduino软件串行输出损坏

时间:2018-07-31 15:15:04

标签: arduino arduino-esp8266

下午好, 我正在尝试通过WiFi与Arduino上的ESP8266模块进行通信。到目前为止,我已经成功地在Arduino和ESP8266模块之间进行了硬件设置和非常基本的通信。我正在使用SoftwareSerial库进行通信,但是即使模块成功连接,打印到串行接口的数据输出也似乎已损坏。

当我在串行控制台上发送AT+CWJAP="AndroidAP","52689785"时,输出如下:

AT+CWJAP="AndroidAP","52689785"
AT+C⸮⸮P⸮⸮⸮⸮⸮⸮⸮ѕ͉b⸮⸮⸮⸮⸮⸮ѕ⸮ɂ⸮⸮j
WIFI DISCONNQ(UH⸮WIFI CONNECTED
WHFI GOT IP

OK

下面是我的完整代码,我通过引脚10和11与ESP模块通信:

#include "SoftwareSerial.h"
SoftwareSerial softSerial(10, 11); // RX, TX

void setup()
{
   Serial.begin(9600);
   // Serial.setTimeout(30);
   softSerial.begin(115200);
   // softSerial.setTimeout(30);
   while(!Serial);
}

void loop()
{
   if (softSerial.available())
   {
      String message = softSerial.readString();
      Serial.print(message);
   }

   if (Serial.available())
   {
      String message = Serial.readString();
      Serial.print(message);
      softSerial.print(message);
   }
}

如果您能向我展示Arduino和ESP模块之间更好的通讯的解决方案,我将不胜感激!

1 个答案:

答案 0 :(得分:-1)

大多数ESP8266模块将在115200波特率下更好地工作。

输出乱码的原因可能是:

  • 您可能正在以9600波特率查看输出

visit the link