Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/EEPROMRead

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Считывание данных с EEPROM[1]

Микроконтроллер платы Arduino имеет 512 байт EEPROM – памяти, которая хранит информацию, когда плата выключена. То есть это что-то вроде миниатюрного жесткого диска. Этот пример иллюстрирует, как считывать значения с каждого байта EEPROM при помощи функции EEPROM.read(), а затем выводить эту информацию на Serial Monitor.

Необходимое оборудование

  • Плата Arduino;

Цепь

Для этого примера цепи строить не нужно.

Arduino bb.png

Код

  1. /*
  2. Считывание данных с EEPROM
  3.  
  4. Считывает значения с каждого байта EEPROM, а затем выводит их на компьютер.
  5.  
  6. Этот код не защищен авторским правом.
  7.  
  8.  */
  9.  
  10. #include <EEPROM.h>
  11.  
  12. // Запускаем считывание, начиная с самого первого байта EEPROM,
  13. // создав для этого переменную address и присвоив ей значение «0»:
  14. int address = 0;
  15. byte value;
  16.  
  17. void setup()
  18. {
  19.   // Инициализируем последовательную передачу данных и ждем открытия порта:
  20.   Serial.begin(9600);
  21.   while (!Serial) {
  22.     ; // ждем подключения последовательного порта (нужно только для Leonardo)
  23.   }
  24. }
  25.  
  26. void loop()
  27. {
  28.   // считываем значение текущего байта EEPROM:
  29.   value = EEPROM.read(address);
  30.  
  31.   Serial.print(address);
  32.   Serial.print("\t");
  33.   Serial.print(value, DEC);
  34.   Serial.println();
  35.  
  36.   // перемещаемся к следующему байту EEPROM:
  37.   address = address + 1;
  38.  
  39.   // EEPROM содержит всего 512 байтов (с 0 по 511),
  40.   // поэтому, добравшись до 512-ой позиции,
  41.   // снова переходим к самому первому, т.е. к 0-ому байту:
  42.   if (address == 512)
  43.     address = 0;
  44.    
  45.   delay(500);
  46. }

См.также

  • EEPROM.read()
  • serial.begin()
  • serial.print()
  • EEPROM Clear example
  • EEPROM Write example
  • EEPROM library reference

Внешние ссылки

  1. Arduino - EEPROM Read