Страница 2 из 4

Запись/чтение массива и строк в/из EEPROM

Добавлено: 29.10.2021{, 17:48}
AlexCrane
Набор простых блоков для записи/чтения массива и строк в/из EEPROM

1. Блок Запись массива в EEPROM
Параметры:
  • Адрес для записи - адрес куда сохраняем
  • Массив - массив для записи
Входы:
  • Запись - По переднему фронту сохраняем массив в EEPROM, использовать через RTrig
  • Адрес - Адрес по которому сохраняем
Выходы:
  • Адрес для следующего - адрес для следующего блока для записи
2. Блок Чтение массива из EEPROM
Параметры:
  • Адрес для чтения - адрес откуда читаем
  • Массив - массив в который читаем
Входы:
  • Читать - По переднему фронту читаем массив из EEPROM, использовать через RTrig
3. Блок Запись массива String в EEPROM - Все аналогично блоку Запись массива в EEPROM

4. Блок Чтение массива String из EEPROM - Все аналогично блоку Чтение массива из EEPROM

5. Блок Запись строки в EEPROM

6. Блок Чтение строки из EEPROM

5. Очистка EEPROM

ВНИМАНИЕ! Любой блок автоматически добавляет функции для чтения и записи строк в/из EEPROM. Если они не используются в проекте, то их можно отключить в параметрах.

Сами блоки:
Критическое обновление Блоки в проекте (в примерах используются блоки ранних версий!!!):
Запись и чтение String с EEPROM_NEW.zip
(294.12 КБ) 279 скачиваний

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 19:00}
AlexCrane
OldRoman, Поставьте в параметрах галочку на контроллер ESP

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 19:10}
neangel
OldRoman писал(а):
26.12.2021{, 18:52}
К сожалению ...
на строке
EEPROM.update(address_ac, val_ac);
ошибка
'class EEPROMClass' has no member named 'update'
У меня так было с вариантом v1.2
Но к счастью кроме варианта v1.2 добавлен и этот вариант для ЕСП = Массив_и_строки_EEPROM_v1.3
В том же IDE 1.8.15 всё заработало.
P.S.
AlexCrane = гений.

Добавлю.
AlexCrane писал(а):
26.12.2021{, 19:00}
OldRoman, Поставьте в параметрах галочку на контроллер ESP
Не может этого быть чтобы OldRoman не поставил галочку и пишет что не работает.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 19:27}
OldRoman
Извиняюсь компиляция проходит,не заметил активацию ESP в настройках блока.Но при обесточиванию данные теряются.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 20:08}
AlexCrane
OldRoman, Скинь проект

Вот мой тестовый, все работает
ESP-test-eeprom.flp
(1.72 МБ) 78 скачиваний

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 20:47}
neangel
Всё работает.
И после отключения питания вновь записанные значения остаются.

Запнулся только на одном.
Может быть ничего менять не надо и достаточно этой картинки.
....
1.png

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 21:36}
OldRoman
SCADA_TD_FULL.flp
(2.17 МБ) 42 скачивания
Странно но у меня не сохраняются,в чем косяк. Не знаю правильно вложен файл.

Отправлено спустя 14 минут 31 секунду:
Моя версия 7-3-8 не открывает Ваш файл.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 21:56}
neangel
Зато его откроет последняя версия … 7-4-2
https://flprog.ru/downloads/distrutives ... my-flprog/
OldRoman писал(а):
26.12.2021{, 21:50}
Странно но у меня ... косяк
И кстати проверять новые блоки где много лишнего не корректно.
Упростите свою схему и сами найдёте косяк

Запись/чтение массива и строк в/из EEPROM

Добавлено: 26.12.2021{, 22:12}
OldRoman
Спасибо.Поработаю.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 27.12.2021{, 07:54}
AlexCrane
OldRoman писал(а):
26.12.2021{, 21:50}
SCADA_TD_FULL.flp
Странно но у меня не сохраняются,в чем косяк. Не знаю правильно вложен файл.

Отправлено спустя 14 минут 31 секунду:
Моя версия 7-3-8 не открывает Ваш файл.
Не вижу смысла читать из EEPROM при каждом изменении счетчика, достаточно один раз при запуске контроллера и дальше работать с массивом

Запись/чтение массива и строк в/из EEPROM

Добавлено: 28.12.2021{, 20:09}
AlexCrane
Новая версия блока 1.4 в шапке. Исправил блок стирания EEPROM для ESP.

Отправлено спустя 1 час 11 минут 41 секунду:
Прошу перекачать, нашел недочеты в блоке стирания

Запись/чтение массива и строк в/из EEPROM

Добавлено: 31.12.2021{, 15:28}
OldRoman
Подскажите,пожалуйста, как правило подключить блоки EEPROM в проекте для сохранения после перегрузки.
А то мои попытки к ничему не привели.Работа с ESP+ штатная SCADA.Спасибо.
NEWTEST.flp
(2.31 МБ) 42 скачивания

Запись/чтение массива и строк в/из EEPROM

Добавлено: 31.12.2021{, 16:44}
AlexCrane
OldRoman, Крайне не понятный алгоритм (да еще каждую минут писать в EEPROM)
попробовал причесать (иногда нужно смотреть последовательность выполнения блоков и раскидывать по платам код)
NEWTEST2.flp
(1.73 МБ) 54 скачивания

Запись/чтение массива и строк в/из EEPROM

Добавлено: 01.01.2022{, 11:27}
OldRoman
Спасибо. Это тест, реально запись происходит раз в сутки.Ваш блок позволяет оказаться то SD и оперативно контролировать ситуацию.Огромное спасибо!

Отправлено спустя 6 часов 13 минут 47 секунд:
Уважаемый Alex прогнал в железе,результата нет. Перегружаеш в масиве нули.Разные ESP, разные адреса выход 0.
Ну в чем проблема? Помогите.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 01.01.2022{, 22:39}
AlexCrane
OldRoman, Скинь в ЛС свой проект гляну

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 06:42}
OldRoman
Alex тест NEWTEST2 у меня не работает.Спасибо.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 14:45}
AlexCrane
OldRoman, Исправил адрес для записи и забыл поменять в блоке для чтения :smile37:
NEWTEST2.flp
(1.66 МБ) 45 скачиваний

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 15:08}
OldRoman
Да я заметил.Но это не помогло. 0 или 50 массив пустой.

Отправлено спустя 9 минут 54 секунды:
Я имел ввиду, что после перегруза массив пустой.А так все правильно.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 17:06}
AlexCrane
OldRoman, Пофиксил, протестируй новый блок (замени в своем примере)

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 18:27}
OldRoman
Alex.При компиляции сообщение о ошибке:
EEPROM.put(, _FLPArray232694143);

expected primary-expression before ',' toke

Отправлено спустя 19 минут 10 секунд:
Удалил все прежние версии и компиляция прошла.
Но массив по прежнему не сохраняется.

Запись/чтение массива и строк в/из EEPROM

Добавлено: 02.01.2022{, 20:53}
AlexCrane
OldRoman, Вот такой тест прогони, при включении esp сразу выводит в uart содержимое eeprom. А затем каждую секунду сохраняет в eeprom собственно секунду. При резете или вкл/выключении питания сразу увидите содержимое eeprom.
NEWTEST3.flp
(1.65 МБ) 59 скачиваний