Dzień dobry wszystkim, oby dla was ten dzień był lepszy niż dla mnie. Od wczoraj próbuję rozwiązać problem z biblioteką WiFiClient na ESP32, ale po kolei.
Piszę program wykorzystujący wielordzeniowość ESP32. Do łączenia z WiFi używam biblioteki WiFi + WiFiMulti, korzystam także z Blynka. Włączyłem debuggowanie procesora na ESP32 i widzę, że co jakiś czas pojawia się błąd:
W tym momencie następuje zerwanie połączenie z Blynk i następuje ponowne łączenie. Wszystko byłoby OK, ale za którymś razem po pojawieniu się tego błędu ESP się resetuje.
Oto błąd po resecie:
A to zdekodowany błąd:
Nie bardzo wiem jak odczytać te informacje o błędzie, co powoduje, że nawet nie wiem w którym miejscu dokładnie szukać problemu. Czy byłby mi ktoś w stanie wskazać, która funkcja powoduje restart ESP?
Będę na prawdę wdzięczny
Piszę program wykorzystujący wielordzeniowość ESP32. Do łączenia z WiFi używam biblioteki WiFi + WiFiMulti, korzystam także z Blynka. Włączyłem debuggowanie procesora na ESP32 i widzę, że co jakiś czas pojawia się błąd:
Kod:
[E][WiFiClient.cpp:436] read(): fail on fd -1, errno: 11, "No more processes"
W tym momencie następuje zerwanie połączenie z Blynk i następuje ponowne łączenie. Wszystko byłoby OK, ale za którymś razem po pojawieniu się tego błędu ESP się resetuje.
Oto błąd po resecie:
Kod:
[E][WiFiClient.cpp:436] read(): fail on fd -1, errno: 11, "No more processes"
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400d5950 PS : 0x00060a30 A0 : 0x800d5d04 A1 : 0x3ffd4290
A2 : 0x00000000 A3 : 0x3ffd42ef A4 : 0x00000001 A5 : 0x00000001
A6 : 0x3ffc1ae4 A7 : 0x0000000b A8 : 0x00000000 A9 : 0x00000000
A10 : 0x38ffffed A11 : 0x400852e0 A12 : 0x00000050 A13 : 0x00000000
A14 : 0x38ffffed A15 : 0x00000000 SAR : 0x0000000a EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000008 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xfffffffb
Backtrace: 0x400d5950:0x3ffd4290 0x400d5d01:0x3ffd42b0 0x40149826:0x3ffd42e0 0x400d9975:0x3ffd4310 0x400d99a1:0x3ffd4330 0x400d23bd:0x3ffd4350 0x400d288b:0x3ffd43b0 0x400d290c:0x3ffd43f0 0x400d30b4:0x3ffd4420 0x400d3169:0x3ffd4860 0x400d3186:0x3ffd4880 0x40088f49:0x3ffd48a0
A to zdekodowany błąd:
Kod:
Error
0x400d5950 WiFiClientRxBuffer
0x400852e0 _free_r
: ?? ??:0
: ?? ??:0
0x400d5d01 WiFiClient
0x40149826 WiFiClient
0x400d9975 Stream
0x400d99a1 Stream
0x400d23bd BlynkArduinoClientGen<Client>
(inlined by) BlynkProtocol<BlynkArduinoClientGen<Client> >
(inlined by) BlynkProtocol<BlynkArduinoClientGen<Client> >
0x400d288b BlynkProtocol<BlynkArduinoClientGen<Client> >
0x400d290c BlynkProtocol<BlynkArduinoClientGen<Client> >
0x400d30b4 void BlynkApi<BlynkProtocol<BlynkArduinoClientGen<Client> > >
0x400d3169 LapmClass
0x400d3186 turnOffByTimeFun(void*)
:355 (discriminator 1):::0x40088f49:vPortTaskWrapper
: ?? ??:0
: ?? ??:0
: ?? ??:0
Nie bardzo wiem jak odczytać te informacje o błędzie, co powoduje, że nawet nie wiem w którym miejscu dokładnie szukać problemu. Czy byłby mi ktoś w stanie wskazać, która funkcja powoduje restart ESP?
Będę na prawdę wdzięczny