| Ваш IP: 54.158.248.112 | Online(23) - гости: 15, боты: 8 | Загрузка сервера: 2.73 ::::::::::::

EEPROM — работа с энергонезависимой памятью (Arduino)

Arduino UNO и NANO содержат 1024 байт EEPROM – энергонезависимой памяти, в которой можно хранить данные, которые будут доступны после отключения питания.

В Arduino IDE по умолчанию уже имеется библиотека EEPROM которая позволяет проводить операции с энергонезависимой памятью.

Память EEPROM обладает гарантированным жизненным циклом 100 000 операций записи/стирания. Время затраченное на одну операцию записи в EEPROM составляет примерно 3,3 мс.

Чтение EEPROM

EEPROM.read(address)

raed (byte) — содержимое ячейки памяти, address — порядковый номер ячейки памяти.

Если ячейка памяти ни когда не перезаписывалась, то ее чтение вернет значение 255. Номер ячейки памяти начинается с 0 и заканчивается 1023 (int).

В следующем примере произведем поочередное чтение всех ячеек памяти:

#include <EEPROM.h>

int address;// начальный адрес памяти EEPROM
byte value; // значение EEPROM

void setup()
{
  Serial.begin(9600);
}
void loop()
{
  value = EEPROM.read(address); // считываем значение по текущему адресу EEPROM
  Serial.print(address);
  Serial.print(" = ");
  Serial.println(value);
  address++ ;
  if (address==1024){address=0;}
  delay(100);
}

 

Запись EEPROM

EEPROM.write(address, value)

Функция записывает один байт со значением value в EEPROM по адресу address.
address — адрес ячейки для записи (int), начинается с 0, value — значение записываемого байта (byte), от 0 до 255.

В следующем примере запишем значение 200 по адресу 0 и прочитаем ячейку памяти с адресом 0:

#include <EEPROM.h>

byte value; // значение EEPROM

void setup()
{
  Serial.begin(9600);
  EEPROM.write(0,200);// запишем значение 200 в ячейку памяти под номером 0
}
void loop()
{
  value = EEPROM.read(0); // считываем значение по текущему адресу EEPROM
  Serial.print(0);
  Serial.print(" = ");
  Serial.println(value);
  
  delay(1000);
}

Обновление EEPROM

EEPROM.update(address, value)

Функции update() аналогична write() и является предпочтительной в использовании, так как значение записывается только тогда, когда оно отличается от уже записанного. Данная функция позволяет продлить жизнь EEPROM.

Обновим значение ячейки под номером 0:

#include <EEPROM.h>

byte value; // значение EEPROM

void setup()
{
  Serial.begin(9600);
  EEPROM.update(0,100);// обновим содержимое ячейки памяти под номером 0
}
void loop()
{
  value = EEPROM.read(0); // считываем значение по текущему адресу EEPROM
  Serial.print(0);
  Serial.print(" = ");
  Serial.println(value);
  
  delay(1000);
}

Добавить комментарий

Случайные статьи

  • Сторожевое устройство

    Для защиты дачного участка от непрошенных гостей, для ограждения опасных объектов можно использовать сторожевое устройство. Схема такого устройства (первый вариант) показана на рис. Объект, нуждающийся в охране, окружают по периметру медным обмоточным проводом диаметром 0,1… 0,3 мм. Этот охранный шлейф может быть прикреплен к забору или к вбитым в землю …Подробнее...
  • Регулируемый источник питания с защитой по току

    На рис.1 изображена схема стабилизатора, от которой можно питать не только автомобильный магнитофон, но и любую радиолюбительскую конструкцию с напряжением от 1 до 35 В и которой не страшны большие токи нагрузки, поскольку введена токовая защита. Регулятор напряжения собран на микросхеме DA1, которая дополнена мощным транзистором, который может отдать в …Подробнее...
  • Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A

    Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A

    Импульсные регуляторы напряжения MC34063A, MC33063A, NCV33063A — специально разработанные микросхемы для DC-DC преобразователей с минимальным количеством внешних элементов. Технические параметры Диапазон входных напряжений 3…40 В Диапазон выходных напряжений 1.25…40 В Максимальный выходной ток 1.5 А Рабочая частота 33 кГц На рисунках показаны типовые схемы подключения регуляторов напряжения, повышающий, понижающий и инверсный. Основные элементы …Подробнее...
  • Переключатель гирлянд с плавным изменением яркости

    Предложенный переключатель гирлянд собран на 2-х микросхемах. На DD1 выполнен симметричный мультивибратор, частоту которого можно регулировать в пределах от 195 до 205 Гц переменным резистором R2. Через инверторы DD1.3 DD1.4 прямоугольные импульсы мультивибратора поступают на триггеры DD2.1-DD2.2 которые выполняют роль делителей частоты. Выходные сигналы триггеров поступают на усилители тока VT1-VT4 …Подробнее...
  • Импульсный стабилизатор напряжения 5 В с высоким КПД

    В этом стабилизаторе используется специализированная ИМС LM2575-5,0. Его выходное напряжение составляет 5 В и задано типом примененной ИМС. Входное напряжение стабилизатора может составлять от 7 до 40 В. Выходной сигнал ИМС на выв. 2 представляет собой серию широтно-модулированных импульсов. После фильтрации цепью L1С2 это напряжение поступает на нагрузку и на …Подробнее...