解决:ESP8266看门狗重启后,WIFI在STA和AP两种模式下均无法正常工作

使用的官方SDK,版本:IDF Version:v3.2-216-g7b78b97-dirty

问题描述:

当程序进入死循环,会触发看门狗复位,但是复位重启后,发现STA模型下无法连接AP,如果在AP模式下,无法看到SSID。通过esp_restart();软重启,重启后,依然连接不上。只能设备断电上电,或者按reset复位才能解决。

验证测试:

在上电后,wifi初始化中,在调用esp_wifi_init()前,提前调用esp_wifi_deinit和esp_wifi_restore也无法解决

原因分析:

发现触发看门狗复位会调用components\freertos\port\esp8266\panic.c模块中panicHandler函数,这个函数会设置相关寄存器,并打印相关异常信息。如下所示:

 

经测试发现屏蔽红框中的代码,就可以解决问题。

解决办法:

方法一:就是上面所说的屏蔽红框代码;

方法二:进入menuconfig把宏CONFIG_ESP_PANIC_SILENT_REBOOT启用(其实和方法一的原理一样,都是屏蔽那段代码),如下所示:选择“silent reboot”

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值