Опубликовано: 24.01.2018 20:00
Автор: genaonyx
Функция записывает данные любого стандартного типа или произвольную структуру в энергонезависимую память EEPROM.
EEPROM.put(address, 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. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.