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

 
 
> Работа с прерываниями, xmega, повторно отрабатывает прерывание
MrKot
сообщение Oct 28 2009, 13:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 23-07-08
Пользователь №: 39 158



Есть кнопка, которая при включеном положении замыкает контакт на землю. Соответствующую ногу я назначил входом, подтянул логическую единицу, и назначил прерывание при падении уровня на этой ноге

Код
PORT_ConfigurePins( &PORTB, PIN2_bm, false, false, PORT_OPC_PULLUP_gc, PORT_ISC_FALLING_gc );                        
PORT_SetPinsAsInput( &PORTB, PIN2_bm );
PORT_ConfigureInterrupt0( &PORTB, PORT_INT0LVL_MED_gc, PIN2_bm );


добавил функцию обработки прерывания
Код
ISR(PORTB_INT0_vect){      
    istimer = true;
    timer=0;    
    PORTD.OUTCLR = PIN1_bm;
    sendchar('S');  
    delay_ms(100);
}


Но обработчик прерывания отрабатывает два раза.
Если убрать задержку в прерывании, то обработка прерывания происходит большее количество раз, что возникает скорее всего из-за дребезга контакта, который в устройстве ничем не отфильтровывается. Собственно вопрос, почему происходит повторная обработка прерывания и как с этим бороться (желательно программно)?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- - Dog Pawlowa   Цитата(MrKot @ Oct 28 2009, 16:49) Собств...   Oct 28 2009, 14:06
- - Duhas   при входе в прерывание чистить свой флаг не вариан...   Oct 28 2009, 15:37
|- - V_G   Цитата(Duhas @ Oct 29 2009, 01:37) при вх...   Oct 28 2009, 23:49
|- - MDD   Цитата(V_G @ Oct 29 2009, 01:49) Смотря к...   Nov 2 2009, 16:26
- - SasaVitebsk   Клавиатура - медленное устройство с точки зрения М...   Oct 28 2009, 18:16
- - Duhas   я так понимаю, что во время начала отработки преры...   Oct 29 2009, 06:10
|- - V_G   Цитата(Duhas @ Oct 29 2009, 16:10) я так ...   Oct 29 2009, 08:28
- - chief_olimp   у вас таймеры используются? Можно в прерывании очи...   Oct 29 2009, 07:40
- - Duhas   афтор привел код, в котором по окончанию отработки...   Oct 29 2009, 12:46
- - V_G   Задержка внутри прерывания - сверхдурной тон, заче...   Oct 29 2009, 16:05
- - Прохожий   Цитата(MrKot @ Oct 28 2009, 16:49) Собств...   Oct 29 2009, 18:01
- - MrKot   Всем спасибо за ответы. Прохожий - полезная ссылка...   Oct 29 2009, 19:52
- - V_G   Нет, в pinchange на xmege я запроса не сбрасываю, ...   Nov 3 2009, 00:24
- - MDD   Да, похоже Ваша правда - в соотвествующей аппноте ...   Nov 3 2009, 05:23


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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 21:30
Рейтинг@Mail.ru


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