EEPROM.put()

24.01.2018 20:00

genaonyx


Описание

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


Синтаксис

EEPROM.put(address, data)


Параметры

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


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

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


Примечание

Для записи в энергонезависимую память функция EEPROM.put() использует функцию EEPROM.update(), таким образом, функция не перезапишет данные, если они не изменились, тем самым сэкономит циклы перезаписи.


Пример

#include "EEPROM.h"

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

void setup()
{

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

  float f = 123.456f;  // Переменная для записи в EEPROM.
  int eeAddress = 0;   // Адрес куда будем записывать.


  // Записываем переменную типа float в адрес 'eeAddress'.
  EEPROM.put(eeAddress, f);

  Serial.println("Written float data type!");

  // Put - Может быть использована и для записи произвольных структур.

  // Произвольная структура для записи.
  MyObject customVar = {
    3.14f,
    65,
    "Working!"
  };

  eeAddress += sizeof(float); // Перемещаем адрес после записи типа float переменной 'f'.

  EEPROM.put(eeAddress, customVar);
  Serial.print("Written custom data type! \n\nView the example sketch eeprom_get to see how you can retrieve the values!");
}

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


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



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

Сообщение

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