Ошибка Guru Meditation: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
esp32
json
Вот мой код:
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "wifiSSID";
const char* password = "wifiPassword";
int sleepTime = 0;
HTTPClient http;
void setup() {
Serial.begin(115200);
Serial.println("START WIFI");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
http.begin("http://ip-address:3000/start?appid=1%2B6vIswDqSmXONCjq4rLtTMd9O2CHEQ4Oe");
int httpCode = http.GET();
String payload = http.getString();
StaticJsonDocument<256> doc;
deserializeJson(doc, payload);
sleepTime = doc["sleep"];
if (sleepTime > 0) {
Serial.println("Sleeping for: " + sleepTime);
delay(sleepTime);
sleepTime = 0;
}
}
void loop() {
// Sensor stuff
}
Вот в чем ошибка:
START WIFI
.........Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
Core 1 register dump:
PC : 0x4000c271 PS : 0x00060034 A0 : 0x8008a48c A1 : 0x3ffb1c60
A2 : 0x3ffb0058 A3 : 0x3f41ae58 A4 : 0x00000014 A5 : 0x3ffbfea0
A6 : 0x3ffbfee8 A7 : 0x00000001 A8 : 0x00000001 A9 : 0x3f41ae59
A10 : 0x000000a5 A11 : 0x30303030 A12 : 0x8008b043 A13 : 0x3ffbfe70
A14 : 0x00000008 A15 : 0x00000001 SAR : 0x00000012 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xfffffffa
ELF file SHA256: 0000000000000000
Backtrace: 0x4000c271:0x3ffb1c60 0x4008a489:0x3ffb1c80 0x4008c034:0x3ffb1ca0 0x4008bfea:0x3ffb1cc0 0x400d5e5c:0x3f725c88
Core 0 register dump:
PC : 0x40165582 PS : 0x00060634 A0 : 0x8015196e A1 : 0x3ffbc120
A2 : 0x00000000 A3 : 0x00000001 A4 : 0x80084032 A5 : 0x3ffbf870
A6 : 0x00060d20 A7 : 0x00000000 A8 : 0x801503f6 A9 : 0x3ffbc0f0
A10 : 0x00000000 A11 : 0x00000001 A12 : 0x80084032 A13 : 0x3ffbf870
A14 : 0x00000000 A15 : 0x3ffbc218 SAR : 0x00000000 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x40165582:0x3ffbc120 0x4015196b:0x3ffbc140 0x4008b031:0x3ffbc160 0x40089882:0x3ffbc180
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
Что мне делать?
@TerThesz, 👍1
2 ответа
▲ 0
Я полагаю, что вы используете Arduino IDE (возможно, 1.x.x), если это так, вам следует установить декодер исключений, чтобы вы могли читать такие шестнадцатеричные коды. Они дадут более полезную подсказку о местоположении ошибки.
Вот ссылка: https://github.com/me-no-dev/EspExceptionDecoder
,
@fabiuz7
▲ 1
У меня тоже возникла эта проблема с последней версией IDF.. проверьте версию IDF, так как, похоже, проблема в том, что RTOS обрабатывает оба ядра вместе.
Решением для меня было понизить версию IDF до 3.0.0
,
@Waged
Смотрите также:
- Публиковать данные json в mqtt
- Arduino создает массив Json с двойными значениями и 2 десятичными знаками
- Использование ESPAsyncWebServer.h с ArduinoJson версии 6 для транзакций мастер-клиент
- формат json в esp32 с arduino json
- Не могу скомпилировать .ino с помощью библиотеки ArduinoJson
- WiFi.begin не работает с выводом const char* ArduinoJson
- Не могу прочитать данные json esp 32 ошибка «parseObject() failed»
- Ошибка синтаксического анализа библиотеки ArduinoJson
"Не удалось расшифровать", @TerThesz
Какую версию ядра Arduino вы используете? Помните, что вы должны скомпилировать и загрузить свой скетч, а затем, когда произойдет исключение, скопировать и вставить весь этот код в декодер исключений, @fabiuz7
оооо я вставил фактическое исключение, @TerThesz