Перейти к содержанию
    

Зависание в энергосберегающих режимах

Здравствуйте! Вопрос: может ли ATmega328p зависать в режиме powerDown и не реагировать на активирующий сигнал INT0 ?  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как говорит моя жена "Ну причём здесь ЭТО!". Ну вы же говорите о power down. А значит именно ЭТО должно выводить его из этого режима. Или нет? А ЭТО в данном случае является INT0 (или PCINT, или WDT, или ...).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А причем здесь "запретить"? Если мне надо, чтобы по INT0 он выводился из powerDown  то зачем мне его запрещать, если это нормальный режим работы? Вопрос в том, что в случае зависания, он не сможет стартовать по прерыванию. Мне почему-то казалось, что если проц повердауне то и зависать там, собственно, нечему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: коллеги, сбавляем пыл. Общение более-менее в деловом формате. Дальше эмоциями не заходим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ответить понятным предложением? Может ли процессор зависнуть будучи в состоении PowerDOWN и не запустится по прерыванию, когда прерывания разрешены. Спасибо!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите примечание к п. 10.5 "Power-down mode" касательно времени удержания !INT. Нужно держать условие более времени запуска (SUTxx).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, phantom сказал:

Можно ответить понятным предложением? Может ли процессор зависнуть будучи в состоении PowerDOWN и не запустится по прерыванию, когда прерывания разрешены. Спасибо!

"Зависнуть" может программа, которая вылетела на непредполагаемый участок кода/данных или по косяку самого программиста.

"Режим" зависнуть не может, в противном случае ваш контроллер неисправен.

Все Вам правильно порекомендовали - проверить настройки разрешений прерываний, как общих так и индивидуйных.

Можно элементарно ошибиться с маской по битовым операциям.

Кроме того, возможна и другая причина - контроллер выходит из p.d. но код выполнить не может, тк ошибки в конфигурации тактовой системы. Или не выполнены "ритуальные" (требуемые по даташиту, руководство программиста) действия (стандартный код) по входу-выходу в/из режима PowerDown.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 hours ago, k155la3 said:

Режим" зависнуть не может. - То есть он должен запустится всегда. Это можно считать ответом? Если да, то спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата

Режим" зависнуть не может. - То есть он должен запустится всегда. Это можно считать ответом? Если да, то спасибо.

IMHO так процентов, на 99.  Еще можно почитать errata на оставшийся процент. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...