v
2.0 (19.08.2025) Переработан функционал, добавлена возможность работы с массивами. Работа с внешней
микросхемой происходит постранично.
Библиотека для записи и чтения из внутреннего EEPROM микроконтроллера и подключаемой микросхемы EEPROM
EEPROM (internal_eeprom_size)
Конструктор класса принимает в качестве единственного аргумента размер внутреннего EEPROM.
Add_EEPROM (device_TWI_adr, eeprom_size) Метод для добавления внешней микросхемы. Первый аргумент, это 7-ми битный
I2C адрес, второй размер памяти в байтах.
Подключение внешней микросхемы осуществляется через стандартные I2C пины.
На данный момент поддерживаются контроллеры:
ATMega 2560
ATMega 328p
Протестирована только микросхема ATMEL 24C256.
Особенностью данной библиотеки является то, что она объединяет адресное пространство внутренего EEPROM и внешних микросхем памяти.
В случае с микросхемой ATMEL 24C256, объемом 32Кб, к одной шине I2C возможно подключить до 8 устройств. Изменяя перемычками их I2C адрес.
Сперва запись происходит во внутренний EEPROM. При чтении/записи массива из внешней микросхемы, работа происходит постранично,
по 64 слова (байта) для микросхемы ATMEL 24C256. Память микросхем меньшего размера данный фирмы организована по 32 слова на странице.
64 установлено по умолчанию. На 32 можно изменить в заголовочнике.
.Write_EEPROM (eeprom_adr, data) Метод для записи 8 битных данных.
.Write_EEPROM (eeprom_adr, data_length, *data) Запись 8 битного массива.
.Read_EEPROM (eeprom_adr) Метод чтения. Возвращает прочитаный байт по указанному адресу.
.Read_EEPROM (eeprom_adr, data_length, *data) Чтение массива.
Используются следующие функции Arduino IDE: delay(), millis() (факльтативно, для не вхождения в бесконечный цикл
при потере связи с устройством по I2C)
Протестировано в Arduino IDE версии 1.8.19