您的位置:首页 > 产品设计 > UI/UE

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

2017-06-05 22:44 681 查看
最近用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;
}
}
}


只要加上延时,万事大吉。。。。

但是不明白为什么,待后期研究吧(逃。。。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arduino esp8266