Режим инициализации устройства при быстром повторном включении
- Войдите на сайт для отправки комментариев
Хочу убрать полностью органы управления, но оставить возможность удалить всё из ЕЕПРОМ. Придумал дурацкий способ.
1 Включаешь.
2 Читается 1 ячейка ЕЕПРОМ. Если "255" - происходит инициализация.
3 Через 5 секунд в ЕЕПРОМ пишется "0"
Либо.
1 Включаешь.
2 Читается 1 ячейка ЕЕПРОМ. Если "0" - в ЕЕПРОМ пишется 255.
3 Через 5 секунд в ЕЕПРОМ пишется "0"
Если устройство включить, выключить (не позже 5 секунд) и снова включить, то получаешь инициализацию.
Это всё работает, но меня напрягают постоянные записи в ЕЕПРОМ. Знаю, что этих записей тысячи (десятки тысяч) возможны, но всё равно. Пытался тоже самое сделать с RC цепочкой, но не могу подобрать номиналы.
Может кто уже делал что-то подобное. Подскажите, как правильно?
Никто в здравом уме не делал.
Ловко вы всех инакомыслящих скопом в психи записали.
Нет, не всех. Только одну очень-очень специфичную категорию. Не больше сотни человек на всей планете, я бы сказал.
Ты лучше не на питание, а на сброс завяжись. Если 2 раза нажать на сброс в течение 5 секунд, то делай инициализацию. Правда RTC нужен с записью в EEPROM timestamp-a. У atmeg-и есть регистр спицальный, в который пишется причина перезагрузки, сброс, вачдог и т.п. Найди инфу и изучи её, направление я тебе дал.
Мне вот даже интересно, что это за устройство такое которое планируется включать over100к раз.
Не каждая кнопка или реле такое выдерживает.
Это при использовании одной только ячейки.
А по теме: кури про кольцевой буфер в EEPROM.
Тут на самом деле надо понять что подразумевается под словом "инициализация".
Возможно, ЕЕПРОМ.апдейт спасет отца русского программирования?
Тут на самом деле надо понять что подразумевается под словом "инициализация".
Возможно, ЕЕПРОМ.апдейт спасет отца русского программирования?
Гениально !!!
«Инициализация» в моем шаре для предсказаний видится как «сброс на дефолтные значения». Мой шар прав? Если да, то притулите где-то сбоку/снизу незаметную кнопку и при условии «сначала зажали кнопку, потом подали питание» делайте «инициализацию».
Шар нагрелся, пойду остужу...
то притулите где-то сбоку/снизу незаметную кнопку
Если кнопку лень тулить, то можно просто пин вывести на контактную площадку рядом с земляной и отверткой\пинцетом коротить.
Еще, если сброс делать надо не очень часто и есть возможность доступа к USB разъему, то можно и командой из сериал монитора сбрасывать.
Хочу убрать полностью органы управления, но оставить возможность удалить всё из ЕЕПРОМ...
Еще ставят геркон внутри корпуса поближе к стенке. Поднес магнит, подал питание - сделал что надо, убрал магнит.
Человеку делал фонарь, а там одна кнопка и та по питанию. А ею нужно было лазить по меню и изменять параметры, т.е. отличать короткие отжатия от длинных. Обошлось обычной RC цепочкой на вход. Ну и ЕЕПРОМ, как же без неё.
Обошлось обычной RC цепочкой на вход.
Не осталось номиналов?
Устройство планируется герметичным, приблуда для мотоцикла (влажность, вибрация). Освежил в памяти данные по живучести ЕЕПРОМ, меня устроит мой "дурацкий" вариант, ресурса хватит на годы и годы.
100 ком на VCC и 10 мкф на общий. Только это одно устройство, а у вас совсем другое.
Какая разница? Контроллер AVR же. RC цепочка на аналоговый вход вешалась или цифровой?
PIC12F1822, вход цифровой.
весьма остроумное решение с 5 секундами после загрузки. Никаких лишних кнопок. Ресурс EEPROM - смешно обсуждать. Точно хватит для мотоцикла, если пара записей при каждом включении зажигания.
Делай, как придумал в первом посте.
Видимо, да, так и сделаю.