Внешняя EEPROM I2C 24C32, 64....

Пользовательские блоки дающие дополнительные возможности при работе с EEPROM и SD картами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

Golan писал(а): 02 июл 2018, 14:17Сань, а для 24С64 можно такой блок забабахать?
Этот работает от 32 и выше.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Golan »

Понял, спасибо.
Добро не ценится в современном мире, люди от него наглеют!
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

Внешняя EEPROM I2C 24C32, 64....

Сообщение valand »

Sancho писал(а): 09 янв 2018, 11:16о результатах и пожеланиях
Спасибо за блоки. Планирую сочинить нечто вроде логгера для домашней сигнализации, соответственно хочу сохранять дату время срабатывания и номер\имя датчика который сработал. (в принципе это надо пока только на этапе отладки, выявить датчики которые неудачно установлены и дают ложные срабатывания) Порылся в архиве, выбрать есть из чего, и мне в принципе достаточно. Но в процессе выявил некорректную работу одного набора блоков. их название на скрине ниже
[spoiler]
блок записи времени глюк.png
блок записи времени параметры.png
[/spoiler]
Суть в чем, входы\выходы sec, minute и rezerv работают корректно.
входы\выходы hour и day умножают на 2 поданное на вход число, т.е. подал-1 считал-2. подал-12 считал-24.
а вход\выход month не сохраняет\читает вообще ничего.
Ну и в процессе разных проб, было выявлено, что блок стирания стирает только 0,1,2 и иногда 3 (на разных блоках по разному) адреса ячеек Numblock.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

[ref]valand[/ref], Можно тестовый проект?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

Внешняя EEPROM I2C 24C32, 64....

Сообщение valand »

он очень тестовый, я его уже сто раз переделывал с разными блоками, вот собрал примерно обратно. (экран нестандарт)
тест внешней еепром на часах вар3 2004лсд.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

[ref]valand[/ref], А так?
Сори :)

Отправлено спустя 25 минут 16 секунд:
Очистку делал под раскачанный буфер. Переделаю чуть позже...

Отправлено спустя 13 минут 33 секунды:
Резерв - максимум 63
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

Внешняя EEPROM I2C 24C32, 64....

Сообщение valand »

Вроде всё ок, пишет\читает. Отличий между v01 и v02 не уловил.
Если v2 это с доработанным стиранием, то изменений нет, все так же от 0 до 3 блока трет.
Последний раз редактировалось valand 06 мар 2019, 13:27, всего редактировалось 1 раз.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

[ref=#ff8000]Sancho[/ref], Сань пытаюсь записать и считать String c UART что то не особо выходит. Вот проект взгляни одним глазком если не трудно
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

[ref]fsergei70[/ref], Серёга, это чего такое в loop?

Код: Выделить всё

    byte lng = EEPROM.read(Addr);
    char* buf = new char[Legh];
    Addr++;
    for(byte i = 0; i < lng; i++) buf[i] = char(EEPROM.read(i+Addr));
    buf[lng] = '\x0';
    Out = ((char*)buf);
   

 return buf;
Отправлено спустя 2 минуты 4 секунды:
Ты со стрингами хочешь работать из памяти ардуинки?
Какая задача? Записи не вижу вообще...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

Sancho писал(а): 06 мар 2019, 14:03 Серёга, это чего такое в loop
Да это я пример в нете откапал и пробовал в блок впихнуть

Отправлено спустя 1 минуту 1 секунду:
Код не правильный или в функцию впихнуть надо?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

:)
Вопрос о какой памяти идёт речь остаётся открыт
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

Ну вообще пример был для флеш памяти ESP а я хотел в EEProm переделать

Отправлено спустя 50 секунд:
Я I2c не проинициализировал
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

Давай до конца определимся - какая память, тип?

Отправлено спустя 1 минуту 5 секунд:
Задача, главное описать чего надо получить в результате.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

24с32 с часов. Надо чтоб писало весь String а в идеале в отдельную ячейку еще и длинну этого Stringa/ Чтоб при считывании считать сначало длинну слова ну а потом само слово. Длинна слова максимум может быть 60 символов
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

[ref]fsergei70[/ref], Серёга, у микросхем 24Схх есть особенность - страничная организация память.
Можно читать в один заход только с одной страницы. С двух, даже если это будет всего два байта, в два захода.
Размечать области как думаешь, где будешь хранить "оглавление"?
По мне - стандартные размеры или кратные.
[spoiler=Кратко о линейке]
Atmel_24СХХ.png
[/spoiler]

Отправлено спустя 2 минуты 47 секунд:
Поэтому для 32-ой - две страницы на одну запись, 64 ячейки.
Всего 64 записи.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

Предлагаю алгоритм примерно такой. Пусть тогда будут странички по 32 байта первая ячейка в страничке будет длинна строки. Если в первой ячейке записано длинна больше 31 тогда у блока сделать 2 выхода на одном будет длинна первоначальной строки которую мы писали в начале странички -31, а на другой первоначальный адрес ячейки + 32. Тогда блоки можно будет прикрутить последовательно.

Отправлено спустя 2 минуты 45 секунд:
может есть вариант проще.

Отправлено спустя 4 минуты 26 секунд:
Можно и проще. Сделать блоки по одной страничке 32 байта а адреса сам в проекте считать буду. Тут главное пример хоть какой то дальше может сам додумаюсь.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

И как изменить страницу или заменить.
Как обратиться к записи 19, 33,... - как их искать, найти.
Сделать все записи по 64 и всё. Или 128, или ...
Стоимость 256 памяти, в чиподипе, 26 руб, 512 - 42 :)

Отправлено спустя 3 минуты 22 секунды:
Пример давно есть - для работы с телефонной книгой делал, UART_to_EEPROM.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

Тогда уж странички по 32 делать а при приеме с уарт буду отбрасывать первые 32 байта и писать в следующую. вход и выход у блока должен быть просто String. А то у меня твои блоки с встроенным Uart есть только редактировать для меня их пока сложно.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Внешняя EEPROM I2C 24C32, 64....

Сообщение Sancho »

[ref]fsergei70[/ref], нет, Серёга, вход будет из Uart. Не стринг.
:)
Можно и стринг. Ок.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
fsergei70
Капитан
Сообщения: 859
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 40 раз
Поблагодарили: 8 раз

Внешняя EEPROM I2C 24C32, 64....

Сообщение fsergei70 »

давай на часовых у меня просто макетка есть с часами впаянными я на ней все тестю, не люблю я проводки эти, вечно где то что то отвалится ищешь потом. Печатку не так сложно от утюжить по нашим временам. Она правда для ардуино ну потом блок под ESP переделать ведь несложно I2C только завести и ноги указать
[spoiler]
макетка.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя