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