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

Простые блоки для чтения и записи массива и строк в EEPROM

Пользовательские блоки дающие дополнительные возможности при работе с EEPROM и SD картами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#1

Сообщение AlexCrane » 29.10.2021{, 17:48}

Набор простых блоков для записи/чтения массива и строк в/из 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 КБ) 272 скачивания
Последний раз редактировалось AlexCrane 03.01.2022{, 09:44}, всего редактировалось 8 раз.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#21

Сообщение AlexCrane » 26.12.2021{, 19:00}

OldRoman, Поставьте в параметрах галочку на контроллер ESP
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#22

Сообщение neangel » 26.12.2021{, 19:10}

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 не поставил галочку и пишет что не работает.

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#23

Сообщение OldRoman » 26.12.2021{, 19:27}

Извиняюсь компиляция проходит,не заметил активацию ESP в настройках блока.Но при обесточиванию данные теряются.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#24

Сообщение AlexCrane » 26.12.2021{, 20:08}

OldRoman, Скинь проект

Вот мой тестовый, все работает
ESP-test-eeprom.flp
(1.72 МБ) 76 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#25

Сообщение neangel » 26.12.2021{, 20:47}

Всё работает.
И после отключения питания вновь записанные значения остаются.

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

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#26

Сообщение OldRoman » 26.12.2021{, 21:36}

SCADA_TD_FULL.flp
(2.17 МБ) 38 скачиваний
Странно но у меня не сохраняются,в чем косяк. Не знаю правильно вложен файл.

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

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#27

Сообщение neangel » 26.12.2021{, 21:56}

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

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#28

Сообщение OldRoman » 26.12.2021{, 22:12}

Спасибо.Поработаю.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#29

Сообщение AlexCrane » 27.12.2021{, 07:54}

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

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#30

Сообщение AlexCrane » 28.12.2021{, 20:09}

Новая версия блока 1.4 в шапке. Исправил блок стирания EEPROM для ESP.

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

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#31

Сообщение OldRoman » 31.12.2021{, 15:28}

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#32

Сообщение AlexCrane » 31.12.2021{, 16:44}

OldRoman, Крайне не понятный алгоритм (да еще каждую минут писать в EEPROM)
попробовал причесать (иногда нужно смотреть последовательность выполнения блоков и раскидывать по платам код)
NEWTEST2.flp
(1.73 МБ) 50 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#33

Сообщение OldRoman » 01.01.2022{, 11:27}

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

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#34

Сообщение AlexCrane » 01.01.2022{, 22:39}

OldRoman, Скинь в ЛС свой проект гляну
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#35

Сообщение OldRoman » 02.01.2022{, 06:42}

Alex тест NEWTEST2 у меня не работает.Спасибо.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#36

Сообщение AlexCrane » 02.01.2022{, 14:45}

OldRoman, Исправил адрес для записи и забыл поменять в блоке для чтения :smile37:
NEWTEST2.flp
(1.66 МБ) 43 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#37

Сообщение OldRoman » 02.01.2022{, 15:08}

Да я заметил.Но это не помогло. 0 или 50 массив пустой.

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#38

Сообщение AlexCrane » 02.01.2022{, 17:06}

OldRoman, Пофиксил, протестируй новый блок (замени в своем примере)

OldRoman
Рядовой
Сообщения: 11
Зарегистрирован: 23.12.2021{, 09:51}
Репутация: 0
Имя: Раман

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

#39

Сообщение OldRoman » 02.01.2022{, 18:27}

Alex.При компиляции сообщение о ошибке:
EEPROM.put(, _FLPArray232694143);

expected primary-expression before ',' toke

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

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#40

Сообщение AlexCrane » 02.01.2022{, 20:53}

OldRoman, Вот такой тест прогони, при включении esp сразу выводит в uart содержимое eeprom. А затем каждую секунду сохраняет в eeprom собственно секунду. При резете или вкл/выключении питания сразу увидите содержимое eeprom.
NEWTEST3.flp
(1.65 МБ) 56 скачиваний
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Ответить

Вернуться в «EEPROM и SD карты»