Arduino:Библиотеки/EEPROM/get(): различия между версиями
Материал из Онлайн справочника
< Arduino:Библиотеки | EEPROM
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 73: | Строка 73: | ||
# EEPROM.put() | # EEPROM.put() | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 79: | Строка 79: | ||
<references /> | <references /> | ||
[[Категория:Стандартные библиотеки]] | [[Категория:Стандартные библиотеки]] |
Версия от 11:11, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция EEPROM.get()[1]
Считывает данные из EEPROM-памяти, но не напрямую, а через указание объекта (например, переменной), хранящего считываемое значение.
Синтаксис
EEPROM.get(address, data)
Параметры
address – участок EEPROM-памяти, с которого будет выполнено считывание. Значения начинаются с «0». Тип данных – int.
data – объект, значение которого нужно прочесть. Это может быть и примитивный тип данных (например, float), и пользовательский struct.
Что возвращает
Значение, записанное в объект, который находится по указанному адресу.
Пример
#include <EEPROM.h>
struct MyObject{
float field1;
byte field2;
char name[10];
};
void setup(){
float f = 0.00f; // переменная для хранения данных, считанных из EEPROM-памяти
int eeAddress = 0; // адрес в EEPROM-памяти, с которого будет начато считывание
Serial.begin( 9600 );
while (!Serial) {
; // ждем подключения последовательного порта (нужно только для Leonardo)
}
Serial.print( "Read float from EEPROM: " ); // "Данные типа float, считанные из EEPROM-памяти: "
// считываем данные типа float из EEPROM-памяти, находящиеся по адресу «eeAddress»:
EEPROM.get( eeAddress, f );
Serial.println( f, 3 ); // если по указанному адресу находятся некорректные float-данные, эта функция может вернуть запись «ovf, nan»
// функцию get() можно использовать и для пользовательских структур:
eeAddress = sizeof(float); // перемещаемся к участку EEPROM-памяти, находящемуся вслед за тем, где хранится переменная «f»
MyObject customVar; // переменная для значения, считанного из пользовательского объекта
EEPROM.get( eeAddress, customVar );
Serial.println( "Read custom object from EEPROM: " ); // "Данные из пользовательского объекта, считанные из EEPROM-памяти: "
Serial.println( customVar.field1 );
Serial.println( customVar.field2 );
Serial.println( customVar.name );
}
void loop(){ /* цикл loop() оставим пустым */ }
См.также
- EEPROM.write()
- EEPROM.read()
- EEPROM.update()
- EEPROM.put()