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

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

Добавлено: 09.01.2018{, 11:16}
Sancho
Тестовые образцы. Архив rar.
Запись и чтение по два байта и три интегера = восемь байт.
Итого 512 блоков (0-511) для 24С32.
Тестируем, отписываемся.
Возможно сделать блоки "общим весом" 2,4,8,16 и 32, 64 байта.
Единичные байты пока не рассматриваются - медленно.
Тема в разделе форума "Железо".

UPD. Диапазон адресов 24C32 - 0х50 - - 0х57.
Отсутствие перемычек на указанной плате- 1,
получаем на новой 0х57(стоит по умолчанию)

UPD. 14.08 Добавлен в архив блок для записи в память текста, номеров - тел. книга описание .
UPD. 19.08 (14.02мск) Предыдущий блок обновлён - добавилась функция поиска по номеру. На 24С32 - 127 записей по 32 символа.
UPD. 04.09 Добавил блоки с записью Float. Конструируйте любые варианты, необходимые в каждом конкретном случае. Незабывайте о размерности в 2,4,8,16 и 32 байта.
После переезда наведу порядок. Чуть погодя :)
UPD.31.01.2018. Добавлены два тестовых блока для 24С16. Запись и чтение по два байта и три интегера = восемь байт. 256 блоков.(0-255).
Перемычки адреса в микросхеме(внутри) 24С16 не подключены. На шине только одна!
Отпишитесь о результатах и пожеланиях.
UPD 05.02.2018. Добавлены несколько примеров. Добавил промежуточные варианты - для самостоятельной модификации.
UPD 13.02.2018 Добавлены блоки чтения / записи 4 байт

UPD 30.01.2019 Отдельно всё из папки. Для творчества, для идей. Почти всё :)

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

Добавлено: 06.03.2019{, 16:10}
Sancho
fsergei70 писал(а):
06.03.2019{, 15:53}
давай на часовых у меня просто макетка есть с часами впаянными я на ней все тестю,
Ок.
Оевреивайте. ( толерантность, однако. :) )

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

Добавлено: 07.03.2019{, 17:51}
Sancho
valand, Очепятка вышла при копипасте :)

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

Добавлено: 08.03.2019{, 01:16}
valand
Что то все равно не то. Я правильно понимаю что стирать должно полностью всю память в не зависимости от того, что в этот момент подано на вход нумблок?
Я беру вход hour, там константа "3" и пишу эту тройку в блоки с номером от 0 до 130, дальше устал кнопки нажимать))
Потом кнопкой подаю единицу на блок стирания (подавал кратковременно, и держать сек 10 пробовал тоже)
В итоге стирает только номера 0-3, 24-27, 48-51, 72-75, 96-99, 120-123, т.е. по четыре подряд с пропуском по 20

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

Добавлено: 08.03.2019{, 08:48}
Sancho
valand, Ещё раз сори - у меня микруха другая...
Обновил, проверил на памяти от часов :)

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

Добавлено: 08.03.2019{, 09:40}
fsergei70
Sancho, Сань привет. Со String ничего не получилось?

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

Добавлено: 08.03.2019{, 10:50}
Sancho
fsergei70, Серёга, затести так.
На вход при записи:
000 ТекстТекстТекстТекст... первые четыре символа не пишутся в память, а служат для выборки страницы, потом ещё 32 символа текста. Запись по write.
Буфер i2c увеличить до 35 минимум!!!

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

Добавлено: 08.03.2019{, 12:21}
valand
Sancho писал(а):
08.03.2019{, 08:48}
Обновил, проверил
Спасибо. Вроде все работает, проверил пока только до 200. буду тестить более детально.

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

Добавлено: 09.03.2019{, 05:50}
fsergei70
Sancho писал(а):
08.03.2019{, 10:50}
затести так.
Спасибо Сань. В понедельник до железа доберусь попробую

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

Добавлено: 09.03.2019{, 14:11}
Mining
Sancho, Вы тут часто упоминали о добавлении в стандартные блоки MODULO.
И вот здесь я увидел Ваш пример где применен уже блок пользователя MODULO.
Это будет работать что скажите?

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

Добавлено: 09.03.2019{, 16:09}
Sancho
Есть ошибка :)
Часы получают делением на 1024, не остаток. Остаток - остальное :)

Отправлено спустя 30 секунд:
Блок пользователя - лишние переменные.

Отправлено спустя 4 минуты 47 секунд:
Вот.
Test_led_eeprom_v06.flp
(1.82 МБ) 96 скачиваний
Отправлено спустя 1 минуту 20 секунд:
Описание

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

Добавлено: 09.03.2019{, 20:56}
AVGN
Sancho писал(а):
09.03.2019{, 16:16}
Часы получают делением на 1024, не остаток. Остаток - остальное :)
Sancho, число.месяц.Год и время как записать в память ?

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

Добавлено: 09.03.2019{, 21:47}
Sancho
берём и определяемся, чего надо для ентого:
минуты 6 бит, до 64
часы - 5 бит, до 32
день - 5 бит, до 32
месяц - 4 бита, до 16
год - 3-4 бита максимум :)
итого 24 бита, 3 байта
далее.
По нормальному, из-за формата страниц, у AT24Cxx, имеем ячейки по 4, 8, 16..., поэтому вопрос в размерности доп данных.
Всё, далее делаем дело :)

Отправлено спустя 53 секунды:
Уже делал блок, недавно "ремонтировал" :)
Тут где-то, сверху

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

Добавлено: 11.03.2019{, 13:54}
Ivan_Kornege
Sancho писал(а):
09.03.2019{, 21:48}
поэтому вопрос в размерности доп данных.
а вот если происходили события в момент, когда часы DS3231 выдали время:
1-е событие: 2019г 11апреля 10ч22м33сек
2-е событие: 2019г 11апреля 22ч59м44сек
3-е событие: 2019г 14апреля 11ч22м22сек
4-е событие: 2019г 14апреля 21ч55м44сек
5-е событие: 2019г 09мая 10ч22м33сек
6-е событие: 2019г 09мая 22ч59м45сек

Как в память на плате DS3231 записать?
Если так, например 1-е событие 20191104102233 то можно затолкнуть в 48бит (6байт)
а
Типу <Unsigned long Integer> соответствуют целые числа от: 0 до: 4294967295 . т.е 4 байта.

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

Добавлено: 12.03.2019{, 12:24}
fsergei70
Sancho писал(а):
08.03.2019{, 10:50}
Серёга, затести так.
Сань немного блок не подходит. Нужно чтоб у блока записи был вход разрешения записи вход адрес и вход строка а тут у блока вход Byte. Ну и у блока чтения были вход разрешения чтения вход адрес и выход строка. Кнопки все эти и другие входы выходы мне не нужны.

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

Добавлено: 12.03.2019{, 12:29}
Sancho
fsergei70, Серёга, а где ты собираешься брать строку?

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

Добавлено: 12.03.2019{, 13:28}
fsergei70
Sancho, Пока с UART. Но мне нужно чтоб к данным принятым с UART добавлялось еще дата когда эти данные были переданы. Так же если будет вход STRING можно будет текст длиной больше 1 страница записывать в следующую ячейку. А как твой блок использовать чтоб записывал больше одной страницы мне не понятно, нужно ведь каждый раз адрес передавать К тому же в том варианте что ты скинул куча входов которые мне не нужны да и текст на выходе делится на 3 части адрес и два фрагмента по 16 для дисплея.

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

Добавлено: 13.03.2019{, 15:10}
fsergei70
Sancho,Сань вот тут нашел код в сообщении №92 попытался запихнуть в блоки эти функции как дальше допилить не знаю https://esp8266.ru/forum/threads/zapis- ... prom.1493/

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

Добавлено: 07.12.2019{, 21:08}
fsergei70
Под 32ESP нужно что то в блоках менять?

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

Добавлено: 08.12.2019{, 11:26}
Sancho
fsergei70 писал(а):
07.12.2019{, 21:08}
Под 32ESP нужно что то в блоках менять?
Не пробовал, но думаю, что должно без проблем заработать.

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

Добавлено: 03.02.2020{, 20:12}
RN4HAQ
Доброго времени суток! Друзья подскажите как решить задачу, не удалось найти подобное на форуме. Имеется микроконтроллер к которому подключена память FM24CL64 http://www.gaw.ru/html.cgi/txt/ic/Ramtr ... 24CL64.htm. В эту память пишутся настройки , ну и прочие данные используемые микроконтроллером в процессе работы. Существует ли блок позволяющий читать данные поступающие на память FM24CL64 для дальнейшего анализа и использования