EEPROM.get()

Описание

Считывает из энергонезависимой памяти EEPROM любого стандартного типа данных или произвольную структуру.


Синтаксис

EEPROM.get(address, data)


Параметры

  • address (int): адрес для чтения (отсчет идет с 0).
  • data: переменная, в которую попадет результат чтения из энергонезависимой памяти, может быть как одним из стандартных типов (например, float) так и произвольной структурой.


Возвращаемые значения

  • ссылка на данные переданные в параметре data.


Пример

#include "EEPROM.h"

// Пример произвольной структуры.
struct MyObject
{
  float field1;
  byte field2;
  char name[10];
};

void setup()
{

  float f = 0.00f;   // Переменная для получения данных типа float из EEPROM.
  int eeAddress = 0; // Стартовый адрес для чтения из EEPROM.

  Serial.begin(9600);
  while (!Serial)
  {
    ; // Ждем соединения по COM-порту. Только для Arduino Leonardo. 
  }
  Serial.print("Read float from EEPROM: ");

  // Считываем переменную типа float из адреса 'eeAddress'
  EEPROM.get(eeAddress, f);
  Serial.println(f, 3);  // Может вывести 'ovf, nan' если данные в EEPROM не соответствуют типу float.

  // Get - Может быть использована и для чтения произвольных структур. 
  eeAddress = sizeof(float); // Перемещаем адрес после считывания типа float переменной 'f'.
  MyObject customVar; // Переменная для получения данных произвольной структуры из EEPROM.
  EEPROM.get(eeAddress, customVar);

  Serial.println("Read custom object from EEPROM: ");
  Serial.println(customVar.field1);
  Serial.println(customVar.field2);
  Serial.println(customVar.name);
}

void loop()
{
  // Пустой цикл. 
}


Смотрите также

Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.