| Ваш IP: 54.92.190.11 | Online(36) - гости: 24, боты: 12 | Загрузка сервера: 3.52 ::::::::::::

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);
}

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

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

  • К5300ЕХ025 — СТАБИЛИЗАТОР НАПРЯЖЕНИЯ С РАСШИРЕННЫМИ ФУНКЦИЯМИ УПРАВЛЕНИЯ

    К5300ЕХ025 — СТАБИЛИЗАТОР НАПРЯЖЕНИЯ С РАСШИРЕННЫМИ ФУНКЦИЯМИ УПРАВЛЕНИЯ

    К5300ЕХ025 – микросхема, предназначенная для использования в качестве линейного стабилизатора напряжения. Характеристики: Входное напряжение до 45В. Выходное напряжение 11,0 В Ток нагрузки: до 60 мА. Защита от короткого замыкания. Тепловая защита. Рабочий температурный диапазон от минус 60 °С до +125 °С Дополнительная регулировка внешним резистором выходного напряжения в диапазоне 11,0-15,0 В. Настраиваемый порог включения стабилизатора по …Подробнее...
  • УНЧ на TDA1904

    УНЧ на TDA1904

    Напряжение питания 4…20В Макс. потребляемый ток 2А Выходная мощность при Rн=4Ом, КНИ=10%: Uп=14В 4Вт Uп=12В 3,1Вт Uп=9В 1,8Вт Uп=6В 0,7Вт КНИ при Uп=9В мощность менее 1,2Вт и Rн=4Ом =0,3% Ток покоя 8…18мАПодробнее...
  • Hi-Fi усилитель для наушников

    Hi-Fi усилитель для наушников

    На рисунке показана схема Hi-Fi усилителя для наушников (моно) с выходной мощность 1 Вт. КНИ усилителя не более 0,1%. Частота пропускания от 10 до 30000 Гц. Усилитель обеспечивает выходную мощность 1 Вт на нагрузке 8 Ом при входном сигнале 500 мВ. Выходные транзисторы усилителя должны быть установлены на небольшие радиаторы. Источник …Подробнее...
  • Цифровой термометр на МК

    Цифровой термометр на МК

    Цифровой ИТ на МК с датчиком на интегральной микросхеме LM35, которая позволяет получить высокую линейность температурной зависимости протекающего через нее тока, разработан Р. Хименесом, Р. Салазаром и М. Улисесом (Electronic Design, July 2002). В основе схемы — микроконтроллер PIC16F872, программу которого можно скачать на сайте http://www.elecdesign.com/Files/29/2476/2476.zip. Индикатором служит сборка из …Подробнее...
  • Источник питания 0…30В 5А

    На рисунке показана схема источника питания с выходным напряжением от 0 до 30 В и максимальным током нагрузки 5А. В схеме используется микросхема LM723 и 4-е транзистора, два из которых силовые 2N3055.      Транзисторы 2N3055 должны быть установлены на радиаторы. Регулировка выходного напряжения осуществляется при помощи потенциометра VR1. Трансформатор должен иметь …Подробнее...