Спящий режим и внешние прерывания
- Войдите на сайт для отправки комментариев
Пт, 28/03/2014 - 22:52
Сможет ли ардуино находясь в режиме сверхмалого потребления (спящий режим) просыпаться и корректно обрабатывать два внешних прерывания, а по завершении обработки уходить обратно в спящий режим ?
пожалуйста помогите с примером кода
Int и Pcint прерывания будут работать с любым режимом низкого потребления
помогите пожалуйста примером - как погрузить МК в спячку, пробудить прерыванием и продолжить спячку ?
КанДеЛябр, поиск по форуму пробовали? Вот здесь есть рабочий пример.
http://habrahabr.ru/post/189744/ - сходите сначала сюда: там есть и образец кода для проверки Вашей ардуины на совместимость со спящим режимом...
1. Какой из спящих режимов рекомендуете?
2. В спящем актуален watchdog () ?
Я что-то упустил?
Какая зависимость watchdog от спящего режима или наоборот?
Это я тут у себя встал на грабли: у меня плату из спящего режима должен был watchdog выводить... Получил "crazy_led" со всеми вытекающими... Хорошо, там в скетче было много времени до срабатывания - удалось перепрошить. Ну а, вообще говоря, watchdog нужен для любой автоматической системы, а не только спящей.
Это я тут у себя встал на грабли: у меня плату из спящего режима должен был watchdog выводить... Получил "crazy_led" со всеми вытекающими... Хорошо, там в скетче было много времени до срабатывания - удалось перепрошить. Ну а, вообще говоря, watchdog нужен для любой автоматической системы, а не только спящей.
Да нет же - я спрашивал как связаны рекомендации по изучению вачдога к вопросу ТС о спящем режиме? Или вы не видите разницы между watchdog и sleep mode? ИМХО - не похоже. Вроде как видите.
P.S. Для любой системы ИМХО вачдог не нужен (разве что в процессе отладки) - система должна работать нормально без "костылей" типа вачдогов. Если происходит сбрасывание по вачдогу - что-то не так или программно или аппаратно - и это не есть стабильная работа системы.
Имеется ввиду ,что ватчдог используется для просыпания микроконтроллера . Ватчдог может использоватся не только для увеличения стабильности работы м/к
Имеется ввиду ,что ватчдог используется для просыпания микроконтроллера . Ватчдог может использоватся не только для увеличения стабильности работы м/к
Хм... Объясните смысл "тушить" МК на (и это максимум) 8 секунд? ИМХО - если уж тушить, то до прерывания какого-нибудь или переполнения таймера. Ну не на 8 же секунд.
Хотя, наверное, каждому свое.
Почему это на 8 секунд ? никто не мешает сделать счетчик и например включать какое либо действие на 5х8 секунд.. При холостом включении ватчдога энергии жрать не будет практически , там время включения будет чуть ли на микросекунды..
Успешно так и работают все такие устройства ,например я реализовывал данный алгоритм на беспроводном датчике влажности/температуры на attiny..
Уж если идти совсем до конца, я бы просто убрал BOOTRST и не пользовался загрузчиком.
USBASP прекрасно шьёт программу. И в любой момент можно снова вернуться к загрузчику через компорт.
Вы же не затираете его, а просто выключаете. ( если , конечно, не иправить upload.maximum_size в boards.txt)
P.S. Для любой системы ИМХО вачдог не нужен (разве что в процессе отладки) - система должна работать нормально без "костылей" типа вачдогов. Если происходит сбрасывание по вачдогу - что-то не так или программно или аппаратно - и это не есть стабильная работа системы.
Как раз и нужен, обязательно нужен!
А без вачдога у вас как раз и будет " не есть стабильная работа системы".
Дома котёл JUNKERS, иногда вижу как перезагружается. Спасибо вачдогу что не висит!
P.S. Для любой системы ИМХО вачдог не нужен (разве что в процессе отладки) - система должна работать нормально без "костылей" типа вачдогов. Если происходит сбрасывание по вачдогу - что-то не так или программно или аппаратно - и это не есть стабильная работа системы.
Как раз и нужен, обязательно нужен!
А без вачдога у вас как раз и будет " не есть стабильная работа системы".
Дома котёл JUNKERS, иногда вижу как перезагружается. Спасибо вачдогу что не висит!
Ну раз перезагружается, значит есть тому причина, не так ли?
Нормально отлаженное работающее устройство не должно перезагружаться или висеть - с этим спорить по-моему бесполезно. А если перезагружается (или без того же вачдога подвисает) - что-то с ним значит не так. Делаем выводы, что именно с перезагрузками как раз и " не есть стабильная работа системы". Или "Спасибо вачдогу что не висит!" - это стабильная работа?
P.S. У самого на этапах отладки вачдоги всегда включены. Но лишь для мониторинга повисаний и определения условий этих повисаний. В данном контекте, говоря о неприменимости вачдогов, веду речь о законченном устройстве.
P.S. У самого на этапах отладки вачдоги всегда включены.
Если бы Вы внимательно прочитали мое сообщение, а не бросались сразу в бой с криками "в Интернете кто-то не прав" - то могли бы сообразить, что при "неправильном" бутлоадере - достаточно одного срабатывания ватчдога "при отладке", и Вы получаете нерабочую ардуину...
P.S. У самого на этапах отладки вачдоги всегда включены.
Если бы Вы внимательно прочитали мое сообщение, а не бросались сразу в бой с криками "в Интернете кто-то не прав" - то могли бы сообразить, что при "неправильном" бутлоадере - достаточно одного срабатывания ватчдога "при отладке", и Вы получаете нерабочую ардуину...
Ну, в бой я не бросался. И не кричал. И в постах моих вроде нет ссылок на чью-то неправоту - с чего вам вдруг такое подумалось? Да и спорить ни с кем не желаю. Я всего лишь высказал свое мнение и спросил, как вачдог относится к вопросу:
Сможет ли ардуино находясь в режиме сверхмалого потребления (спящий режим) просыпаться и корректно обрабатывать два внешних прерывания, а по завершении обработки уходить обратно в спящий режим ?
Где там про вачдог? Там вроде как вопрос про прерывания в спячке. Вот и поинтересовался - может я чего-то не знаю - я б с удовольствием почерпнул бы новых знаний.
Но я, конечно же не спорю с тем, что
при "неправильном" бутлоадере - достаточно одного срабатывания ватчдога "при отладке", и Вы получаете нерабочую ардуину...
P.S. А по поводу "нерабочей" ардуины - тоже достаточно спорный вопрос - у меня почему-то получается прошить такие меги, вернув им работоспособность. Гугл в курсе, если что.
при "неправильном" бутлоадере - достаточно одного срабатывания ватчдога "при отладке", и Вы получаете нерабочую ардуину...
P.S. А по поводу "нерабочей" ардуины - тоже достаточно спорный вопрос - у меня почему-то получается прошить такие меги, вернув им работоспособность. Гугл в курсе, если что.
А если поискать по этому форуму, то можно найти рецепт лечения и без перепрошивки. Ничего кроме ArduinoIDE и манипуляйций с питанием/ресетом - не требуется.
А необходимость собаки в конечном устройстве - помоему тут и спорить нечего (особенно в критичных вещах типа котлов и т.п.).
С одной стороны - его сработка это сигнал "что-то тут не так". И с этим нужно разбиратся (по хорошему еще нужно логирование делать, что была нештатная перезагрузка). С другой стороны.... почему-то никто не стесняется ставить в конечное устройство предохранители. Более того это является "хорошим тоном". Хотя перегорание предохранителя - штатной ситуацией не назовешь. Так и вочдог. Предохранитель програмный.