Запись String в энергонезависимую память EEPROM

EEPROM.put()  функция записывает данные любого стандартного типа или произвольную структуру в энергонезависимую память EEPROM, иначе говоря если размер данных превышает 1 байт, нужно использовать функцию EEPROM.put().

При записи данных в EEPROM размер которых превышает 1 байт, необходимо корректный расчет адресов по которым будет производится запись, для расчета адресов используется функция sizeof(). Для чтения используется функция EEPROM.get(), для нее так же необходимо пользоваться функцией sizeof()  для определения точных адресов при считывании информации.

Для записи строки String ее необходимо сначала преобразовать в массив char, определить размер данных и произвести запись.

Пример:

#include <EEPROM.h>
 
String str = "Arduino IDE";// 11 символов + 1
String str1 = "Arduino UNO";// 11 символов + 1
char ch[12],ch1[12];
 
void setup() {
  Serial.begin(9600);
  str.toCharArray(ch, 20); // Конвертирование строки в массив сhar array
  str1.toCharArray(ch1, 20); // Конвертирование строки в массив сhar array
  EEPROM.put(0, ch); // запись в EEPROM
  EEPROM.put(sizeof(ch), ch1); // запись в EEPROM
}
 
void loop() {
  Serial.println(EEPROM.get(0, ch));
  Serial.println(EEPROM.get(sizeof(ch), ch1));
  delay(10000);
}

Добавить комментарий

Войти с помощью: