|
|
![]() ![]() |
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
Новичок
Регистрация: 14.09.2018 Последняя активность: 01.12.2018 15:55
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Доброго здоровья господа
Подскажите, как правильно организовать алгоритм, переключение режимов по прерыванию питания. Микроконтроллер Pic12F683 Прошивку пишу на Си |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5203 раз(а) в 2785 сообщениях
|
![]()
Вне не зависимости от типа контроллера есть несколько вариантов:
1. После каждого включения читать из EEPROM предыдущее состояние, и тут-же записывать новое состояние. Короткое отключение от длинного не отличается. 2. Тоже самое, но через 3 секунды (например) записывать предыдущее значение. Одиночный клик любой продолжительности не будет вызывать изменений, а два или более кликов с интервалом меньше 3 сек будут отличаться и можно разные функции на разное число кликов повесить. 3. Конденсатор на ноге, иногда через резистор. При включении определять напряжение или логический уровень на этой ноге и потом подключать ногу к питанию. В зависимости от продолжительности отключения, на конденсаторе при включении будет разное напряжение (до разного напряжения разрядится за время без питания). Короткое прерывание питания можно отличить от длинного и по разному обработать. Есть также индивидуальные, привязанные к конкретному контроллеру или семейству, способы. Некоторые контроллеры аппаратно умеют отличать короткое выключения от длинного, некоторые контроллеры при непродолжительном отключении сохраняют состояние отдельных регистров/ячеек памяти. Про то, как это можно сделать в Attiny13/Attiny25/Attiny85 -- смотрите в темах о прошивках "народного" драйвера. Несколько раз обсуждалось с примерами. Про Pic12F683 -- попробуйте сами найти подобные варианты, получится -- может и нам расскажите. |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Новичок
Регистрация: 14.09.2018 Последняя активность: 01.12.2018 15:55
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Спасибо что отозвались
Буду пробовать Нашел ваши темы по народным прошивкам, с исходниками на си |
![]() |
![]() ![]() |