roboforum.ru

Технический форум по робототехнике.
Текущее время: 21 май 2025, 10:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Разбудить микроконтроллер через External Interrupt
СообщениеДобавлено: 06 окт 2011, 23:39 
Не в сети

Зарегистрирован: 16 фев 2011, 00:52
Сообщения: 142
прог. языки: PHP, ActionScript, Delphi, Visual Basic, Perl,Java
Как разбудить микроконтроллер через External Interrupt
делаю так
Код:
GICR|=0xC0;
CUCR |= 0x0A;
GIFR=0xC0;
#asm("sei")


Код:
interrupt [EXT_INT1] void ext_int1_isr(void)
{
    ....
}


// прирывания с датчика спедометра
interrupt [EXT_INT0] void ext_int0_isr(void)
{
    ......

}


при замыкании ножки INT0 и INT1 на землю код в соответствующих функциях прерывания работает как надо, перевожу контроллер в режим сна
Код:
MCUCR |= 1 << SE | 1 << SM1;
#asm("SLEEP")

по даташиту если перевести контролер в режим Power-down (SM0=0,SM1=1,SM2=0) то он должен пробуждаться от "INT1/ INT0" и "TWIAddress Match", но от INT1/ INT0 не пробуждается, почему?

з.ы.: контролер atmega8a


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разбудить микроконтроллер через External Interrupt
СообщениеДобавлено: 06 окт 2011, 23:58 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
CUCR |= 0x0A; - это MCUCR что-ли? Если да, то похоже проблема в этом, выход из режима сна вроде возможен только по level-прерываниям, а не по falling-edge-прерываниям

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разбудить микроконтроллер через External Interrupt
СообщениеДобавлено: 07 окт 2011, 00:07 
Не в сети

Зарегистрирован: 16 фев 2011, 00:52
Сообщения: 142
прог. языки: PHP, ActionScript, Delphi, Visual Basic, Perl,Java
=DeaD= писал(а):
CUCR |= 0x0A; - это MCUCR что-ли? Если да, то похоже проблема в этом, выход из режима сна вроде возможен только по level-прерываниям, а не по falling-edge-прерываниям

да MCUCR,
ставлю
MCUCR=0x00;
тоже самое, не могу разбудить


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO