Как извлечь данные из EEPROM?

VladM
Offline
Зарегистрирован: 27.10.2016

Ардуина периодически слушает датчик и записывает врямя и показание в EEPROM. Подскажите, пожалуйста, оптимальный способ эти данные извлечь для дальнейшей обработки. Может, можно какой-то прогой слить EEPROM в явном виде сразу в файл?

Спасибо!

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

EEPROM, ИМХО, не то место куда стоит часто писать данные. Оно имеет ограничения по количеству циклов записи порядка 10000. Потом каюк.

Может стоит записывать на внешнюю карту. Там тебе и библиотеки и файлы...

lebfr
Offline
Зарегистрирован: 18.06.2018

10000  - это для памяти в которой лежит программа. eeprom в arduino 100000 или больше перезаписей.

VladM
Offline
Зарегистрирован: 27.10.2016

mykaida пишет:

EEPROM, ИМХО, не то место куда стоит часто писать данные. Оно имеет ограничения по количеству циклов записи порядка 10000. Потом каюк.

Может стоит записывать на внешнюю карту. Там тебе и библиотеки и файлы...

Мне надо чтобы только одну ночь поработало. Поэтому на ресурс пофиг.

lebfr
Offline
Зарегистрирован: 18.06.2018

На самой arduino читать из EEPROM и отправлять в Serial.println(). Забирать на компе через консоль arduino ide. У меня Linux не знаю, как нормально это в windows сделать.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А чем библиотека EEPROM.h не устраивает? Гони туда данные EEPROM.write () побайтно. Ести число с плавающей запятой - преврати в целое или длинное целое и по байтам перегоняй.

Если разжевать, то берем целое число, "и" с числом 255 - получам младший байт, записываем,

берем то же число 8 раз сдвигаем направо (делишь на 256) - получаем старший байт, записываем.

А в файл, если разово, то проще потом выдать числа по com порту и скопировать из терминала в файл.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

VladM пишет:

mykaida пишет:

EEPROM, ИМХО, не то место куда стоит часто писать данные. Оно имеет ограничения по количеству циклов записи порядка 10000. Потом каюк.

Может стоит записывать на внешнюю карту. Там тебе и библиотеки и файлы...

Мне надо чтобы только одну ночь поработало. Поэтому на ресурс пофиг.

А зачем Вам EEPROM на 1 ночь?

Если боитесь потерять данные, так подключите бесперебойник или запитайте от автомобильного аккумулятора. Или у Вас программа настолько большая, что данные хранить негде? Тогда оставьте и комп включенным и гоните сразу в терминал - утром скопируете.