Прошу совета по AVR
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено suhum 09 июня 2004 г. 11:46

Посадил вход на прерывание INT0, срабатывание по переходу 1->0, пытаюсь убрать дребезг следующим образом:


#pragma vector=INT0_vect
__interrupt void input0_vector(void)
{
unsigned char i;
for (i=0;i<70;i++); // 70*3=210 Tmcu +40 = 250 Tmcu
/* проверка на дребезг при отрицательном фронте */
if ( in0_PINr&(1< return; // выход из прерывания (был дребезг)
/* далее тело обработчика */
}

дело в том, что иногда при наличии на входе "0" происходит выход из прерывания, как будто он видит "1". В чём может быть дело?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru