Arduino:Примеры/EEPROMWrite
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Запись данных на EEPROM [1]
Микроконтроллер платы Arduino имеет 512 байт EEPROM – памяти, которая хранит информацию, когда Arduino находится в выключенном состоянии. Другими словами, это что-то наподобие маленького жесткого диска. Этот пример иллюстрирует, как при помощи функции EEPROM.write()записывать на EEPROM значения, считанные с 0-ого входного аналогового контакта. Эта информация останется на EEPROM, когда плата будет выключена, а впоследствии может быть извлечена оттуда при помощи другого скетча.
Необходимое оборудование
- Плата Arduino;
Цепь
Для этого примера никакой цепи строить не нужно.
Код
/*
Запись данных на EEPROM
Записывает на EEPROM значения, считанные с 0-ого входного аналогового контакта.
Эти значения останутся на EEPROM, когда плата будет выключена,
а затем могут быть извлечены оттуда при помощи другого скетча.
*/
#include <EEPROM.h>
// Задаем переменную, в которой указываем самый первый байт EEPROM,
// т.е. тот байт, с которого мы начнем запись:
int addr = 0;
void setup()
{
}
void loop()
{
// Делим результат, полученный от аналогового контакта, на четыре,
// потому что диапазон аналоговых значений составляет от 0 до 1023,
// а байт EEPROM может хранить значение только от 0 до 255.
int val = analogRead(0) / 4;
// Записываем значение в соответствующий байт EEPROM.
// Все записанные значения останутся там, когда плата будет выключена:
EEPROM.write(addr, val);
// Перемещаемся к следующему байту.
// EEPROM содержит 512 байтов (с 0 по 511), поэтому,
// добравшись до 512-ой позиции, возвращаемся к 0-ой:
addr = addr + 1;
if (addr == 512)
addr = 0;
delay(100);
}
См.также
- EEPROM.write()
- analogRead()
- if()
- EEPROM Clear example
- EEPROM Read example
- EEPROM library reference