whiteud
New member
Имеется такой кусок кода:
Его цель: определить в каком режиме работает железка, если в режиме AP тогда мы выводим в консоль и на экран SSD1306 - что используется режим AP, и пытаемся получить Soft AP IP, иначе мы работаем в режиме Client и тогда показываем Local IP. Но в случае AP железка уходит в рестарт, как раз на выделенном в коде месте, т.е. показывает что мы в режиме AP и все, дальше перезагрузка. Т.е. такое чувство что метод этот не работает в случае же если на этом месте запросить Local IP то все отлично и выдается адрес 0.0.0.0. Понятное дело хочется чтобы он по человечески выдал 192.168.0.1
Что в консоли:
Подскажите плз как побороть?
Код:
if (pWebConfig->IsAP())
{
Serial.println("WiFi Mode: AP");
sendStrXY("Mode: AP",1,0);
ip = WiFi.softAPIP(); // <----- сыпется тут
}
else
{
Serial.println("WiFi Mode: Client");
sendStrXY("Mode: Client",1,0);
ip = WiFi.localIP();
}
Serial.println("IP address: "+ip);
char result[16];
sprintf(result, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
sendStrXY("IP:",2,0);
sendStrXY(result,2,4);
Что в консоли:
Код:
WiFi Mode: AP
ЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂЂ
Soft WDT reset // <----- сыпется тут
ctx: cont
sp: 3fff08f0 end: 3fff0b50 offset: 01b0
>>>stack>>>
3fff0aa0: 0000003c 00000001 3ffe88e1 00000001
3fff0ab0: 3ffef984 0000303e 40ff5d56 4020635c
3fff0ac0: 3ffef984 00000000 3ffefa11 00000001
3fff0ad0: 3ffef984 3fff0b90 3fff0b90 40205a0d
3fff0ae0: 40ff2d18 3fff0b10 3fff0b90 40202924
3fff0af0: 0100a8c0 00ffffff 3fff0b90 40206499
3fff0b00: 3fffdad0 3fff0b90 3ffef958 40202bcb
3fff0b10: 3ffe95b8 0100a8c0 feefeffe feefeffe
3fff0b20: feefeffe feefeffe feefeffe 3ffefb28
3fff0b30: 3fffdad0 00000000 3ffefb20 4020563c
3fff0b40: feefeffe feefeffe 3ffefb30 40100958
<<<stack<<<
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1264, room 16
tail 0
chksum 0x42
csum 0x42
~ld