Хранение данных в переменной.

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

Здравствуйте. Интересует вопрос: Как можно хранить данные в переменной ардуины, к примеру 10 мин?

Допустим у меня есть переменная

temperature

я присваиваю ей 5, далее это число должно храниться в переменной около 10 мин, после чего я читаю это число и перезаписываю новое. Возможно ли такое? Где можно найти инфу? Буду благодарен)

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

возможно.

щас налетят.......выскажут по теме и нет.

ЗЫ. Тупо не читайте из переменной 10 минут и никто в нее сам ничего не запишет.

b707
Offline
Зарегистрирован: 26.05.2017

вопрос непонятен. Что в эти 10 минут происходит с ардуиной? - она выключена, спит,  многократно перезагружается? - если просто работает, то и через 10 минут и через 10 часов в переменной будет тоже значение, которое туда записали :)

b707
Offline
Зарегистрирован: 26.05.2017

andycat пишет:

ЗЫ. Тупо не читайте из переменной 10 минут и никто в нее сам ничего не запишет.

ну да, "чтобы котелок побыстрее закипел - поменьше в него заглядывайте", да? :)

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

b707 пишет:

вопрос непонятен. Что в эти 10 минут происходит с ардуиной? - она выключена, спит,  многократно перезагружается? - если просто работает, то и через 10 минут и через 10 часов в переменной будет тоже значение, которое туда записали :)

Раз в 10 мин будет запускаться код, в котором будет считываться с датчика температура. К примеру первый запуск: Температура: 30, эту температуру записываю в переменную, далее второе выполнение, я сравниваю температуру 10 мин назад и выполняю какое то действие, если она отличается, а так же перезаписываю ее в ту же переменную. Если не отличается, ничего не делаю. Я вот думаю, может EEPROM лучше использовать?

 

Я использую ESP8266 с Arduino IDE.

ChaNger
Offline
Зарегистрирован: 22.02.2018

Смотря где вы ее объявили

b707
Offline
Зарегистрирован: 26.05.2017

VaDoSiQ пишет:

Раз в 10 мин будет запускаться код, в котором будет считываться с датчика температура. К примеру первый запуск: Температура: 30, эту температуру записываю в переменную, далее второе выполнение, я сравниваю температуру 10 мин назад и выполняю какое то действие, если она отличается, а так же перезаписываю ее в ту же переменную. Если не отличается, ничего не делаю. Я вот думаю, может EEPROM лучше использовать?

если считаете, что лучше Епром - используйте ЕПРОМ.

Вы так и не обьяснили, чем вас не устраивает обычная переменная.

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

если считаете, что лучше Епром - используйте ЕПРОМ.

Вы так и не обьяснили, чем вас не устраивает обычная переменная.

И не объяснит. Можете, конечно, поразъяснять что и как, но в данном случае я бы не стал тратить напрасно время.

ChaNger
Offline
Зарегистрирован: 22.02.2018

Изучите сначала что такое переменные в Arduino, и тогда Вам сразу станет все понятно

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

ChaNger пишет:

Изучите сначала что такое переменные в Arduino,

А что это такое? Я вот знаю переменные в языке С/С++

ChaNger
Offline
Зарегистрирован: 22.02.2018

Да переменные C/C++, но к примеру типа данных byte c/c++ нет, чтобы еще понимать время жизни переменной, к тому же размеры переменных разные

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

Реализовал на EEPROM. Работает как часики. Спасибо всем кто отзвался)

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

VaDoSiQ пишет:

Реализовал на EEPROM. Работает как часики. Спасибо всем кто отзвался)

Только  при этом необходимо знать что EEPROM имеет конечное  количество циклов записи.

 

 

VaDoSiQ
VaDoSiQ аватар
Offline
Зарегистрирован: 19.01.2017

oleg_kazakof пишет:

VaDoSiQ пишет:

Реализовал на EEPROM. Работает как часики. Спасибо всем кто отзвался)

Только  при этом необходимо знать что EEPROM имеет конечное  количество циклов записи.

 

 

Я записываю данные всего в один адрес, раз в 10 минут. После чего перезаписываю.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

VaDoSiQ пишет:

Я записываю данные всего в один адрес, раз в 10 минут. После чего перезаписываю.

вопрос чисто из любопытства - зачем? что за задача такая что обычная переменная не подходит?

P.S. Через максимум 2 года МК гарантировано сдохнет.