Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Mega48 режим PowerDown
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
smk
Как я понял из даташита пробуждение из PowerDown по pin change interrupt возможно. Я правильно понял? Сконфигурировано так:
Код
PCMSK2=0b10000000;
PCICR=0b00000100;

Этого достаточно? Нужно чтоб контроллер просыпался при перепаде на PD7. Спасибо.
ksv198
Цитата(smk @ Jan 9 2010, 10:08) *
Как я понял из даташита пробуждение из PowerDown по pin change interrupt возможно. Я правильно понял? Сконфигурировано так:
Код
PCMSK2=0b10000000;
   PCICR=0b00000100;

Этого достаточно? Нужно чтоб контроллер просыпался при перепаде на PD7. Спасибо.

Еще глобально прерывания разрешить не забудьте
zhevak
Цитата(smk @ Jan 9 2010, 12:08) *
Как я понял из даташита пробуждение из PowerDown по pin change interrupt возможно. Я правильно понял? Сконфигурировано так:
Код
PCMSK2=0b10000000;
PCICR=0b00000100;

Этого достаточно? Нужно чтоб контроллер просыпался при перепаде на PD7. Спасибо.

Могу немного соврать!!! Ибо сейчас под руками ничего нет.
Примерно года полтора-два назад мне нужно было загнать M48P в режим микропотребления. Помню, что Idle меня не устраивал, нужно было засыпать "глубже". Вот тут мне память как раз изменяет -- по моему как раз режим PowerDown был...
Так вот, мне не удалось разбудить мегу. wassat.gif

На сколько я понял, там снимается тактирование с портов, и поэтому Меге становиться совершенно по барабану, что там происходит у нее на ногах -- ничего не ловила -- ни фронты, ни уровни... (Пришлось брать за основу MSP430, там даже при полном отрубании системных таймеров, порты ловят изменения и соответственно генерятся прерывания, и проц просыпается.)

К сожалению, я детали не помню. Простите великодушно smile.gif Советую самому собрать простую схемку и проверить "в железе". Там в PDF-ке есть какая-то "рекламная" неточность на этот счет, а я на нее повелся...
DpInRock
Отлично просыпается по перепаду уровня.
Рекомендую в обработчике это прерывание сразу же запретить.
А разрешить уже как-нибудь потом, после ликвидации дребезга.
domowoj
В даташите стр.37 таблица 19
Какие проблемы?
Александр Куличок
И внизу таблицы маленький note под номером 3: For INT1 and INT0, only level interrupt.
Только таблица у меня под номером 9.1 на стр. 40 в разделе 9.1 Sleep Modes (ревизия даташита - Rev. 2545M–AVR–09/07)

Т.е. если нужно просыпаться (из power down) по смене уровня, то прерывания Int0 и Int1 использовать не получится, так как они требуют наличия i/o-клока.
В то же врямя PCINT18/19, которые разделяют ноги с Int0/1, позволяют просыпаться из любого режима.
smk
Цитата
Отлично просыпается по перепаду уровня.
Рекомендую в обработчике это прерывание сразу же запретить.
А разрешить уже как-нибудь потом, после ликвидации дребезга.

Спасибо. Принято к сведению.
Цитата
В то же врямя PCINT18/19, которые разделяют ноги с Int0/1, позволяют просыпаться из любого режима.

В моем случае речь о PCINT23.
Цитата
Какие проблемы?

Просто раньше не приходилось использовать подобное. Советуюсь. Табличку посмотрел. Если ей верить, то все должно получиться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.