|
Дребезг контактов, Как избежать? |
|
|
|
Jul 9 2006, 18:55
|

Участник

Группа: Новичок
Сообщений: 27
Регистрация: 5-07-06
Из: Украина, Донецк
Пользователь №: 18 606

|
Кнопка замыкает ножку на землю. Mega16 Код #include <avr/io.h> #include <avr/interrupt.h>
#define F_CPU 8000000UL // 8 MHz #include <util/delay.h>
ISR(INT2_vect) { int i; for (i=0;i<3;i++) _delay_ms(10); if ((PINB & 0x04)==0) // ножка внешнего прерывания PORTA ^= 1; }
int main() { PORTA = 0; DDRA = 0xFF;
PORTB = 0xFF; DDRB = 0x00; MCUCSR &= ~_BV(ISC2); // по заднему фронту (H->L) GICR = _BV (INT2); sei ();
for(;;) return(0); } Идея вроде бы правильная, но на практике срабатывает плоховато... В чем ошибка?
Сообщение отредактировал Labinskiy Nikolay - Jul 9 2006, 18:59
--------------------
If you can't make it good - don't make it look good ;)
|
|
|
|
|
 |
Сообщений в этой теме
Labinskiy Nikolay Дребезг контактов Jul 9 2006, 18:55 Yura_K Код int i;
for (i=0;i<3;i++)
_dela... Jul 9 2006, 19:13 rezident Есть два стандартных способа опроса клавиатуры с у... Jul 9 2006, 19:25 Stas633 Цитата(rezident @ Jul 9 2006, 23:25) Есть... Jul 9 2006, 22:32 TamTam [quote name='Stas633' date='Jul 10 200... Jul 9 2006, 22:50 Velund С весовыми резисторами имеет смысл связываться тол... Jul 9 2006, 23:59  Stas633 Цитата(Velund @ Jul 10 2006, 03:59) С вес... Jul 10 2006, 07:45   Kovrov Цитата(Stas633 @ Jul 10 2006, 11:45) Мне ... Jul 10 2006, 08:46   defunct Цитата(Stas633 @ Jul 10 2006, 09:45) Инте... Feb 11 2010, 23:02 upc2 Можно с использованием флагов.В прерывании устанав... Jul 10 2006, 04:32 Kovrov Такой вариант обхода дребезга - пользуюсь когда мн... Jul 10 2006, 06:17 rezident При использовании ADC и "аналоговой" кла... Jul 10 2006, 09:27 Stas633 Цитата(rezident @ Jul 10 2006, 13:27) При... Jul 10 2006, 10:40 Kovrov по профилю работы часто приходится общаться с проф... Jul 10 2006, 11:36 Stas633 Цитата(Kovrov @ Jul 10 2006, 15:36) .... ... Jul 10 2006, 11:52 BVU Программных алгоритмов антидребезга может быть дос... Jul 10 2006, 13:01 fantasy Внесу свою реплику в дискуссию...
Код#define _fDr... Jul 10 2006, 15:19 Labinskiy Nikolay Всем спасибо за ответы - пойду экспериментировтаь Jul 10 2006, 16:36 dio Понимаю что вопрос тупой, но всё таки ...
Упростил... Jul 19 2006, 17:58 Marian Цитата(smk @ Feb 10 2010, 19:48) Как выяс... Feb 11 2010, 13:49 rezident Цитата(smk @ Feb 10 2010, 22:48) Иначе ск... Feb 11 2010, 15:53 Oleg_IT Как-то уже приводил здесь этот код.
Кодunsigned l... Feb 11 2010, 09:23 Lexdaw А я по опросу входа (кнопки) сдвигаю регистр влево... Feb 11 2010, 13:24 Corvus А простой инкремент/декремент чем не угодил? Feb 11 2010, 13:47  ReAl Цитата(Corvus @ Feb 11 2010, 15:47) А про... Feb 12 2010, 05:56   Corvus Цитата(ReAl @ Feb 12 2010, 08:56) Если Вы... Feb 12 2010, 09:09 smk Нет, просто события внутри микроконтроллера опереж... Feb 11 2010, 17:08 sonycman Цитата(smk @ Feb 11 2010, 21:08) Нет, про... Feb 11 2010, 17:17 rezident Цитата(smk @ Feb 11 2010, 22:08) Нет, про... Feb 11 2010, 17:25 Oleg_IT Товарищ смешивает две задачи, устранения дребезга ... Feb 11 2010, 19:27 rezident Цитата(Oleg_IT @ Feb 12 2010, 00:27) Това... Feb 11 2010, 21:31 smk Цитатая лично на точно таких же принципах
о чем то... Feb 12 2010, 06:58 muravei Цитата(smk @ Feb 12 2010, 09:58) в следст... Feb 12 2010, 08:18 rezident Цитата(smk @ Feb 12 2010, 11:58) Действие... Feb 12 2010, 14:26 smk КодЧтобы так сильно не рисковать стоит проверять ... Feb 12 2010, 09:30 andr_doy давно и с большим успехом пользую следущий код
//.... Feb 12 2010, 09:50 sonycman Цитата(ReAl @ Feb 12 2010, 09:56) Да ещё ... Feb 12 2010, 13:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|