關於配置SmartConfig導致ESP8266頻繁硬件復位的問題

最近用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 reset

ctx: 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 8
chksum 0x2d
csum 0x2d
v09f0c112
~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;
        }
    }
}

只要加上延時,萬事大吉。。。。
但是不明白爲什麼,待後期研究吧(逃。。。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章