Настройки ESP32 S3:
Сам модуль: https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3
Файл SAVE.h:
#pragma once
#include <Arduino.h>
struct SAVE {
bool ACTIVE[3] = {true, true, true};
bool LIMITATION = false;
float LIMIT = 0;
uint8_t ACTIV_NAMBER[3] = {1, 2, 0};
float CURRENT_HOUR[3][5];
float WATT_HOUR[3][5];
uint32_t SET_MILLISECOND[3][5]; //Время для расчёта емкости
uint16_t COLOR[3][3] = {
{0xffff, 0xf800, 0x07e0},
{0xffff, 0xf800, 0x07e0},
{0xffff, 0xf800, 0x07e0},
};
};
Основной файл:
#include <EEPROM.h>
SAVE SAVE;
void EEPROM_SAVE()
{
EEPROM.begin(512);
EEPROM.put(1, SAVE);
EEPROM.commit();
EEPROM.end();
}
При вызове функции EEPROM_SAVE() модуль пишет ошибку и перезапускается:
Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed).
Core 1 register dump:
PC : 0x40056f64 PS : 0x00060034 A0 : 0x803792b5 A1 : 0x3fc97ef0
A2 : 0x3fca9870 A3 : 0x3c0edec0 A4 : 0x0000fa00 A5 : 0x3fca9870
A6 : 0xbad00bad A7 : 0xbad00bad A8 : 0x00000000 A9 : 0x3fca4b04
A10 : 0x01ffffff A11 : 0x3fc96bdc A12 : 0x3fca90e0 A13 : 0x3fca90a0
A14 : 0x3fc96bfc A15 : 0x3fca90fc SAR : 0x00000004 EXCCAUSE: 0x00000007
EXCVADDR: 0x00000000 LBEG : 0x40056f5c LEND : 0x40056f72 LCOUNT : 0x00000f9f
Backtrace: 0x40056f61:0x3fc97ef0 0x403792b2:0x3fc97f00 0x4037945f:0x3fc97f20 0x4037a332:0x3fc97f40 0x403798f1:0x3fc97f70 0x40041a76:0x3fca9030 0x40376419:0x3fca9050 0x40384ed1:0x3fca9070 0x40385903:0x3fca90a0 0x40384912:0x3fca90e0 0x4037601c:0x3fca9160 0x4200e461:0x3fca91b0 0x42016a01:0x3fca91d0 0x42017021:0x3fca91f0 0x42017355:0x3fca9210 0x42015aae:0x3fca9290 0x42016082:0x3fca9320 0x42016805:0x3fca9390 0x42015583:0x3fca93b0 0x42007485:0x3fca93e0 0x420024cf:0x3fca9410 0x42003846:0x3fca9430 0x4200bba4:0x3fca9470 0x4037df66:0x3fca9490
Первый раз работаю с ESP32 S3, уважаемые форумчане, подскажите в чём дело?