接收随机不需要的消息

时间:2016-10-17 10:19:31

标签: arduino microcontroller esp8266

我是arduino的新手,我对ESP8266有疑问。我想检查来自ESP8266的回声,但当我上传程序并重新启动Nanoin COM4串行窗口时,我收到一些不需要的消息。当我尝试发送AT命令时,我可以在NANo TX Led发送中看到,但ESP8266没有响应。我改变了所有的波特率,但只有115200能够读取。

我不知道这是硬件问题还是我必须更新固件。任何帮助表示赞赏。

代码:

#include <SoftwareSerial.h>
SoftwareSerial softSerial(8, 9); // RX, TX

void setup() 
{
  uint32_t baud = 115200;
  Serial.begin(baud);
  softSerial.begin(baud);
  Serial.print("SETUP!! @");
  Serial.println(baud);
}

void loop() 
{
    while(softSerial.available() > 0) 
    {
      char a = softSerial.read();
      if(a == '\0')
        continue;
      if(a != '\r' && a != '\n' && (a < 32))
        continue;
      Serial.print(a);
    }

    while(Serial.available() > 0)
    {
      char a = Serial.read();
      Serial.write(a);
      softSerial.write(a);
    }
}

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

当芯片重新启动时,引导加载程序会在def codeList = restClient.get(path:"codes",headers: [Accept: 'application/json']) List<Code> codes = codeList.data 波特打印出引导调试日志。然后加载应用程序并将其更改为指定的波特率(通常为76800)。由于UART信号没有时钟,因此启动日志将被视为其他波特率的垃圾。 如果引导加载程序因为固件没有正确闪存而失败,它可能会卡在引导循环中,这可能就是您所看到的。