Ошибка 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

Что мне делать?

, 👍1


2 ответа


0

Я полагаю, что вы используете Arduino IDE (возможно, 1.x.x), если это так, вам следует установить декодер исключений, чтобы вы могли читать такие шестнадцатеричные коды. Они дадут более полезную подсказку о местоположении ошибки.

Вот ссылка: https://github.com/me-no-dev/EspExceptionDecoder

,

"Не удалось расшифровать", @TerThesz

Какую версию ядра Arduino вы используете? Помните, что вы должны скомпилировать и загрузить свой скетч, а затем, когда произойдет исключение, скопировать и вставить весь этот код в декодер исключений, @fabiuz7

оооо я вставил фактическое исключение, @TerThesz


1

У меня тоже возникла эта проблема с последней версией IDF.. проверьте версию IDF, так как, похоже, проблема в том, что RTOS обрабатывает оба ядра вместе.

Решением для меня было понизить версию IDF до 3.0.0

,