Прошу совета по AVR
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
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". В чём может быть дело?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- А вот еще обработка клавиши, с автоповтором — vet (09.06.2004 13:45, 850 байт)
- кнопочку лучше обрабатывать так — итить (09.06.2004 12:48, 403 байт)
- насчет подачи дребезгового сигнала на прерывание - плохо, это понятно, в крайнем случае можно поставить RC, но (+) — suhum (09.06.2004 12:46, 297 байт)
- Ответ: подать дребезговый сигнал на прерывание ? Лучше вообще так не делать. — -Tумблер- (09.06.2004 12:30, пустое)
- А притяжка к 5В на входе есть? — Bill (09.06.2004 12:03, пустое)
- Ответ: — 32768 (09.06.2004 11:56, 72 байт)
- хтмл, мля, всё интересное почикал... ;О) — =mse= (09.06.2004 11:55, 84 байт)
- А что за дребезг? Дребезг механических контактов как минимум 10 мс — CTAC (09.06.2004 11:55, пустое)
- значит видит =))) — DASM (09.06.2004 11:52, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru