реклама на сайте
подробности

 
 
> Обработка прерывания, зависает в обработчике прерывания...
cuba74
сообщение Aug 18 2009, 11:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-11-07
Пользователь №: 32 751



Всем превед..

Вот столкнулся с проблемой....прерывание по INT0....

на прерывание откликается ...переходит в обработчик прерывания...выполняет все указанные действия....

пример - очистка lcd и выдача на него информации, поле этого стоит return... однако выходить из данной

функции нежелает....спустя 10 секунд, все-таки ввозвращается в исходное меню..

контроллер ATmega16.... среда IAR


Код
#pragma vector=INT0_vect
__interrupt void IRQ(void)
{  
    IRQ_DIS;
    GICR |= (1<<6);

    clear_lcd();
    write_data_lcd(GICR, 0xa0);
    write_data_lcd(GIFR, 0xe0);
    delay_1ms(500);

    IRQ_EN;
    return;

}
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
cuba74
сообщение Aug 18 2009, 15:19
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-11-07
Пользователь №: 32 751



Цитата(dimka76 @ Aug 18 2009, 17:30) *
Проверте как у вас настроен INT0. На прерывание по уровню или по фронту. Если по уровню, то он и будет входить в прерывание пока будет держаться заданный уровень на входе INT0.

А кто у вас воздействует на INT0, кнопка?
И зачем у вас в функцию write_data_lcd(...) предаются GICR и GIFR ?



INT0 настроен на спадающий фронт сигнала, данный уровень не держится так как по кнопке управление,

функция write_data_lcd(...) предаёт GICR и GIFR для себя....

вообщем в конце функции стопорится и всё.....причем секунд 15 постоит и выходит из обработчика прерываний.....

если нажать в ходе зависания опять кнопку, т.е. опять ниспадающий фронт,видно как переход осуществляется в начало функции обработчика....

т.е.

clear_lcd();
write_data_lcd(GICR, 0xa0);
write_data_lcd(GIFR, 0xe0);


Поможите люди добрые....даже незнаю куда смотреть.....
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 03:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.02186 секунд с 7
ELECTRONIX ©2004-2016