ESP8266 CUT HERE FOR EXCEPTION DECODER解决办法
串口log信息:
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
Soft WDT reset
>>>stack>>>
ctx: cont sp: 3ffffd40 end: 3fffffc0 offset: 01a0 3ffffee0: 3ffee6f0 3ffee6e0 00000002 4010032c 3ffffef0: 0000000e 3ffee6e0 3ffee6f0 40201db8 3fffff00: 0000000e 00000012 3ffee6e0 40201ffe 3fffff10: 3fffff50 0000000c 3fffff50 3fffff5c 3fffff20: 00000011 00000656 3ffee6e0 4020207b 3fffff30: 3fffff70 00000009 3fffff70 00000004 3fffff40: 3fffdad0 3ffee6e0 3ffee6e0 402021b2 3fffff50: ffff0460 ffffffff 00000000 3ffee784 3fffff60: 3fffdad0 3ffee6e0 00000004 402012c1 3fffff70: 00007000 9c000000 3ffee6d9 3ffee784 3fffff80: 3fffdad0 00000000 3ffee6e0 402017cf 3fffff90: 3fffdad0 00000000 3ffee628 3ffee784 3fffffa0: 3fffdad0 00000000 3ffee770 40202ee8 3fffffb0: feefeffe feefeffe 3ffe86dc 40100c5d <<<stack<<<
--------------- CUT HERE FOR EXCEPTION DECODER --------------- ?⸮T!9⸮@H⸮⸮⸮⸮⸮
解决办法:
non-OS SDK 不支持抢占任务或进程切换。因此开发者需要自行保证程序的正确执行,用户代码不能长期占用 CPU。否则会导致看门狗复位,ESP8266 重启。
如果某些特殊情况下,用户线程必须执行较长时间(比如大于 500 ms),建议经常调用 system_soft_wdt_feed() API 来喂软件看门狗,而不建议禁用软件看门狗。
执行一个死循环,一直复位。
启用喂狗函数
而我的解决办法
目前测试未发现问题。