关于配置SmartConfig导致ESP8266频繁硬件复位的问题

来源:互联网 发布:淘宝网情侣装dongji 编辑:程序博客网 时间:2024/05/16 10:26

最近用Arduino IDE调试ESP8266-01,在配置SmartConfig功能时,频繁复位。
以下时出现复位故障时的代码

void smartConfig(){    WiFi.mode(WIFI_STA);    Serial.println("\r\nWait for Smartconfig");    WiFi.beginSmartConfig();    while (1)    {        if (WiFi.smartConfigDone())        {            Serial.println("SmartConfig Success");            Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());            Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());            break;        }    }}

串口输出复位信息

Soft WDT resetctx: cont sp: 3ffef8e0 end: 3ffefae0 offset: 01b0>>>stack>>>3ffefa90:  3fffdad0 3ffee90c 3ffee9fc 40201c9e  3ffefaa0:  feefeffe feefeffe feefeffe 3ffeeab8  3ffefab0:  3fffdad0 00000000 3ffeeab0 40201d0a  3ffefac0:  feefeffe feefeffe feefeffe 40203504  3ffefad0:  feefeffe feefeffe 3ffeeac0 40100718  <<<stack<<< ets Jan  8 2013,rst cause:2, boot mode:(3,6)load 0x4010f000, len 1384, room 16 tail 8chksum 0x2dcsum 0x2dv09f0c112~ld?

频繁复位到我都崩溃了,上网查了很多资料,但都没有解决问题。后来我仔细对比了其他人的代码(http://www.arduino.cn/thread-18958-1-4.html),发现唯一不一样的就是一段延时。

void smartConfig(){    WiFi.mode(WIFI_STA);    Serial.println("\r\nWait for Smartconfig");    WiFi.beginSmartConfig();    while (1)    {        /*    就是这段   */        delay(500);        if (WiFi.smartConfigDone())        {            Serial.println("SmartConfig Success");            Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());            Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());            break;        }    }}

只要加上延时,万事大吉。。。。
但是不明白为什么,待后期研究吧(逃。。。)