Оформи код соответствующим тэгом, см. Правила
Здравствуйте! Можете пожалуйста помочь с конфигурацией страницы и обработкой? Я пытался в примере fileUploadManual просто все заменить на SD, но постоянно ошибка обращения к несуществующему фрагменту памяти вроде... Идея изначально была загружать с телефона файл, чтобы он в дальнейшем записывался на micro SD карту. (плата ESP32C3, если это имеет значение, пин CS - GPIO7)
Код:
Ошибка:
Код:
Код:
#define AP_SSID "*" // тут были SSID и пароль
#define AP_PASS "*"
#include <SD.h>
#include <GyverPortal.h>
GyverPortal ui;
void build() {
GP.BUILD_BEGIN();
GP.THEME(GP_DARK);
GP.FILE_UPLOAD("my_file.txt");
GP.FILE_UPLOAD("file_upl");
GP.FILE_MANAGER(&SD);
GP.BUILD_END();
}
void setup() {
startup();
if (!SD.begin(7)) Serial.println("SD Error");
ui.attachBuild(build);
ui.attach(action);
ui.start();
ui.uploadAuto(0); // выключить автозагрузку
ui.deleteAuto(0); // выключить автоудаление
ui.downloadAuto(0);// выключить автоскачивание
ui.renameAuto(0); // выключить автопереименование
}
void action() {
// начало загрузки
if (ui.upload()) {
Serial.print("Upload: ");
Serial.print(ui.fileName()); // имя файла
Serial.print(", from: ");
Serial.println(ui.uploadName()); // имя формы загрузки
// любым способом открыть и передать файл типа File
// сохраним в корень по имени файла
ui.saveFile(SD.open('/' + ui.fileName(), "w")); // в корень, по имени файла
//ui.saveFile(LittleFS.open('/' + ui.uploadName(), "w")); // в корень, по имени формы загрузки
// использовать имя формы как каталог, имя файла - как имя файла
//ui.saveFile(LittleFS.open('/' + ui.uploadName() + '/' + ui.fileName(), "w"));
}
// успешное окончание загрузки
if (ui.uploadEnd()) {
Serial.print("Uploaded file: ");
Serial.print(ui.fileName());
Serial.print(", from: ");
Serial.println(ui.uploadName());
}
// ===== ФАЙЛОВЫЙ МЕНЕДЖЕР =====
// обработчик скачивания файлов (для открытия в браузере)
if (ui.download()) ui.sendFile(SD.open(ui.uri(), "r"));
// обработчик удаления файлов
if (ui.deleteFile()) {
SD.remove(ui.deletePath());
Serial.println(ui.deletePath());
}
// обработчик переименования файлов
if (ui.renameFile()) SD.rename(ui.renamePath(), ui.renamePathTo());
}
void loop() {
ui.tick();
}
void startup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(AP_SSID, AP_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(WiFi.localIP());
}
Код:
Guru Meditation Error: Core 0 panic'ed (Load access fault). Exception was unhandled.
Core 0 register dump:
MEPC : 0x42003ec0 RA : 0x42001366 SP : 0x3fca2680 GP : 0x3fc90400
TP : 0x3fca29b0 T0 : 0x7f7fffff T1 : 0x7f7f7f7f T2 : 0xffffffff
S0/FP : 0x3fca2710 S1 : 0x3fcafe4c A0 : 0x00000000 A1 : 0x3fca2680
A2 : 0x00000000 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x3fc92f70
A6 : 0xfa000000 A7 : 0x00000003 S2 : 0x3fca2680 S3 : 0x3fcbba50
S4 : 0x3fc99000 S5 : 0x3fcbba54 S6 : 0x3fcbba50 S7 : 0x3fca26a0
S8 : 0x00000001 S9 : 0x3fc99000 S10 : 0x00000000 S11 : 0x3fcbba64
T3 : 0x0074203a T4 : 0x65707954 T5 : 0x2d746e65 T6 : 0x746e6f43
MSTATUS : 0x00001881 MTVEC : 0x40380001 MCAUSE : 0x00000005 MTVAL : 0x00000000
MHARTID : 0x00000000
Stack memory:
3fca2680: 0x6565642f 0x65657370 0x646f636b 0x78742e65 0x3fca0074 0x00000020 0x3fcbba54 0x42012d78
3fca26a0: 0x3c0f1858 0x000005d8 0x3fcbba48 0x4038be8e 0x00000004 0x00000000 0x3fc99978 0x40380e2c
3fca26c0: 0x3c0f1858 0x00001800 0x000005d8 0xffffffff 0x0000000a 0x3fcafe88 0x3fc930f4 0xc47a234a
3fca26e0: 0x3c0f2000 0x3fc9301c 0x3fcafe24 0x3c0f2000 0x3fcbba50 0x3fca285c 0x00000001 0xffffffff
3fca2700: 0x3c0f2000 0x3fc9301c 0x3fca27e0 0x4200b126 0x00000004 0x3fc930f4 0x3fca2710 0x3fc930bc
3fca2720: 0x3fcb7ee4 0x00001800 0x00000001 0x3fcb8e50 0x0000004f 0x00000000 0x00cb7db4 0x3fcb8e10
3fca2740: 0x0000002f 0x0000000b 0x00cb7db4 0x00000000 0x00000000 0x00000000 0x80cb7da4 0x74786574
3fca2760: 0x616c702f 0x00006e69 0x8acb7da0 0x3fcaf43c 0x0000001f 0x00000010 0x00c995c0 0x00000000
3fca2780: 0x00000000 0x00000000 0x0cc93000 0x00000000 0x00000000 0x00000000 0x00002000 0xc47a234a
3fca27a0: 0x3c0f2000 0x3fcb82a0 0x3fca289c 0x3c0e1000 0x3c0e1000 0x3c0f8000 0x00000001 0x00000000
3fca27c0: 0x3fc99000 0xffffffff 0x00000001 0x00000001 0x3c0f2000 0x3fc930bc 0x3fc9301c 0x4200bb88
3fca27e0: 0x00000000 0x00000000 0x3fca36b4 0x3fc930f4 0x00000000 0x00000000 0x3fca36b4 0x3fcb8040
3fca2800: 0x0000008f 0x00000000 0x0e00616f 0x54534f50 0x00000000 0x00000000 0x84ca36b4 0x5f50472f
3fca2820: 0x6f6c7075 0x00006461 0x8aca36b4 0x00000031 0x00000000 0x00000000 0x81ca36b4 0x00000000
3fca2840: 0x00000000 0x00000000 0x80ca36b4 0x00000000 0x00000000 0x00000000 0x80000000 0x3fcb8268
3fca2860: 0x0000002f 0x00000026 0x00000000 0x3fcb7ee4 0x0000001f 0x0000000f 0x0d00006c 0x3fcb8f34
3fca2880: 0x0000008f 0x00000023 0x01c90000 0x00000000 0x00000000 0x00000000 0x00c94624 0x00000000
3fca28a0: 0x00000000 0x00000000 0x00006700 0xc47a234a 0x00000001 0x3fc930bc 0x3fcb8114 0x00000000
3fca28c0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x3fc99000
3fca28e0: 0x00000001 0x3fc930bc 0x3fc9301c 0x4200f074 0x3fca29b0 0x4005890e 0x3c0f7ef0 0x00000000
3fca2900: 0x000003e8 0x42012000 0x3fcb78c8 0x3fcb0100 0x3fcb8114 0x3fcb813c 0x00000001 0x00000bb8
3fca2920: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0xc47a234a
3fca2940: 0x00000000 0x00000000 0x3fc99000 0x00000000 0x00000000 0x42012000 0x3fc99000 0x42001d1e
3fca2960: 0x00000014 0x3fc99000 0x3fc99000 0x42013fe8 0x00000000 0x00000000 0x00000000 0x40387f7c
3fca2980: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
3fca29a0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 0xbaad5678
3fca29c0: 0xe3febea4 0x9938a21d 0x89e5e3c4 0x6ff17d90 0x54e00fc4 0xdda0e2c5 0x3e7746cd 0x2d72fbd8
3fca29e0: 0x3be1557f 0x6a58b9ad 0x64c8026c 0x7c0fe0df 0x4d942c40 0xfe4b7d98 0x5e0dfd8d 0x8f002b74
3fca2a00: 0xfdf9c6de 0x8444ffb1 0x88206904 0x46b3faae 0xa0b926c2 0x7397ba00 0x7b12e7ac 0x0a8452af
3fca2a20: 0x0a28ef7b 0x4849f638 0x67264126 0xf1228155 0x0720c827 0xb47d71d7 0xd757a7a9 0x483c74f0
3fca2a40: 0x32ab9097 0xa43f1ef6 0xd981e4e3 0x07c90ae9 0xe8a5fd6b 0x3a9a605d 0x6a7f513b 0x9e4a54a5
3fca2a60: 0x778da615 0xf9fb8eca 0xb96286a0 0x92969baa 0xcd2429a8 0x93e27d40 0xbdc1df1e 0x484d590e
ELF file SHA256: 97bc76281
Rebooting...
Изменено:
