
Сохранение данных о настройке в eeprom
Подскажите как сохранить значение настройки температуры в eeprom после выклю питания. Есть программа терморегулятора, всё выводится на 3-х разрядный 7-ми сегментный LED. Программа меряет температуру через датчик ds18b20, потом сравнивает через деферинциал. Опрашуются две кнопки "+" и "-", кнопками настраивается задаваемая температура. Работает таймер на 7 часов и 20 минут стоит. Подскажите как сохранить значение задаваемой температуры после выкл., чтобы после подачи питания, задаваемая температура была таже. И чтобы так сделать, чтобы ресурсы eeprom расходавались по минимуму. За ранние спасибо!

- Реклама
Для этого нужен хитрый алгоритм равномерного расходования памяти. Есть апноут по EEPROMKrik99 писал(а): чтобы ресурсы eeprom расходавались по минимуму.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Ок, апноут я посмотрю. А вот второй вопрос, когда сохранять значение в eeprom, после изминения заданой температуры, или может есть какойто другой способ сохранять при неожиданом выкл, питания?

ОЧЕВИДНО МК должен узнать о выключении питания за время достаточное для сохранения данных. И во время сохранения он должен питаться запасенной где-то энергией - например в конденсаторе, ионисторе, батарейке.Krik99 писал(а): или может есть какойто другой способ сохранять при неожиданом выкл, питания?
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
А я бы применил "софтовое" выключение питания, кнопочкой, которая подключена к одному из портов. При нажатии этой кнопочки МК бы спокойно сохранил все данные в eprom и выключился. Вариантов управления питанием масса, от банального транзисторного ключа до разных спящих режимов.
Вот "софтовое" заинтересовало... Можна например когда настроил температуру нажимаеш две кнопки одновременно, и МК сохраняет значение в eeprom. Только теперь скажите как записать переменную в eeprom и как её от туда прочитать? За ранние извеняюсь за глупый вопрос. 

в CVAVR объявляешь переменную так: eeprom unsigned char peremannaya
И какое значение запишешь, то не пропадет при отключении питания. Можно сделать так:
peremannaya=35;
В нее запишется число 35
После включения питания читаешь ее значение-вот тебе и сохраненные данные. Работаешь как с обычной переменной
И какое значение запишешь, то не пропадет при отключении питания. Можно сделать так:
peremannaya=35;
В нее запишется число 35
После включения питания читаешь ее значение-вот тебе и сохраненные данные. Работаешь как с обычной переменной
Трудно быть деревянным, совсем трудно....
По поводу сохранения в еепромке после вуключения питания. Я испльзую аналоговый компаратор МК. На один вход +5В подаем, на другой - через делитель напряжение до стабилизатора питания +5В. Емкость электролита на питании МК должна быть достаточно большой чтобы обеспечить необходимое напряжение пока по прерыванию АК не прекратится запись в еепром.
to Krik99
напиши на аську, вышлю кусок кода чтения и записи еепром.
напиши на аську, вышлю кусок кода чтения и записи еепром.
А я советую диод ставть до элетролита перед стабилизатором. Тогда после исчезновения питания электроллит разряжается а на МК остается полная напруга в течении времени завершения записи.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
ИМХО проще И ПРАВИЛЬНЕЙ ! практически замерить.kent.a писал(а):А как расчитать на сколько времени хватит конденсатора определенной емкости???
Наврено вот так:
(допустимое снижение напряжения на конденсаторе за время записи) * на емкость = ток потребления * время записи
время записи с запасом нужно конечно брать.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Есть конечно.kent.a писал(а):А нету формулы
Я бы в симуляторе PROTEUS схемку сделал из конденсатора и резистора да посмотрел время.
Учтите что у электролитов разброс емкости АФИГИТЕЛЬНЫЙ обычно.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Можно сохранять даные в eeprom по переполнению таймера?
Я не Сашок!!!
Да.sachok писал(а):Можно сохранять даные в eeprom по переполнению таймера?
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
при условии, что запись в EEPROM завершится до очередного переполнения таймераtych писал(а):Да.sachok писал(а):Можно сохранять даные в eeprom по переполнению таймера?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Спасибо! А какое примерно время нужно для записи в eeprom.
Я не Сашок!!!
Зависит от типа конкретного eeprom/MK.
Берется как всегда из даташита.
Берется как всегда из даташита.


