最近在调试wifi版烟感的时候,对其进行EZ(Smartconfig )<------->AP Mode 切换的时候出现问题:wifi 模块不断复位,mcu不断重发配网指令 ,由此形成死循环 。
分析: 出现该问题主要是 在切网函数中,有写入相关判断Flag 到eeproom,而一旦wifi模块的配网模式没有切换过来,那么程序判断就会出错 。
09:37:10.016]收←◆55 AA 00 01 00 24 7B 22 70 22 3A 22 73 6B
[09:37:10.052]收←◆69 76 6B 68 76 65 71 77 6D 71 77 34 67 73 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 7D 55
[09:37:10.192]收←◆55 AA 00 04 00 01 01 05
[09:37:10.436]收←◆55 AA 00 04 00 01 01 05
[09:37:10.679]收←◆55 AA 00 04 00 01 01 05
[09:37:10.923]收←◆55 AA 00 04 00 01 01 05
[09:37:11.168]收←◆55 AA 00 04 00 01 01 05
[09:37:11.410]收←◆55 AA 00 04 00 01 01 05
[09:37:11.654]收←◆55 AA 00 04 00 01 01 05
[09:37:11.747]收←◆55 AA 00 01 00 24 7B 22 70 22 3A 22 73 6B 69 76 6B 68 76 65 71 77 6D 71 77 34 67 73 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 7D 55
[09:37:11.897]收←◆55 AA 00 04 00 01 01 05
[09:37:12.140]收←◆55 AA 00 04 00 01 01 05
[09:37:12.384]收←◆55 AA 00 04 00 01 01 05
[09:37:12.628]收←◆55 AA 00 04 00 01 01 05
[09:37:12.871]收←◆55 AA 00 04 00 01 01 05
[09:37:13.114]收←◆55 AA 00 04 00 01 01 05
[09:37:13.359]收←◆55 AA 00 04 00 01 01 05
[09:37:13.426]收←◆55 AA 00 01 00 24 7B 22 70 22 3A 22 73 6B 69 76 6B 68 76 65 71 77 6D 71 77 34 67 73 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 7D 55
[09:37:13.602]收←◆55 AA 00 04 00 01 01 05
[09:37:13.846]收←◆55 AA 00 04 00 01 01 05
[09:37:14.089]收←◆55 AA 00 04 00 01 01 05
[09:37:14.332]收←◆55 AA 00 04 00 01 01 05
[09:37:14.577]收←◆55 AA 00 04 00 01 01 05
[09:37:14.820]收←◆55 AA 00 04 00 01 01 05
[09:37:15.064]收←◆55 AA 00 04 00 01 01 05
同时 wifi模块初始化需要时间,大概> 1s 在wifi模块初始化未完全完成的时候发送切网指令,或者重启指令 ,那么wifi模块可能会无法保存当前配网模式数据,进而导致复位模块后返回给mcu的配网模式不符合预期。
解决:1. 优化相关代码,不做过多判断。减慢/少 mcu发送切网的速度和次数,初测后效果显著。