Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 227
Из них просматривают:
Аналоги: 54. Даташиты: 53. Инструкции: 4. Новости: 21. Обзор: 1. Остальное: 3. Программы: 2. Производители: 1. Профиль пользователя: 5. Расчёты: 2. Теги: 1. Форум: 80.
Участников: 2
Гостей: 225

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 1 анонимных пользователей
проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети

Здравствуйте.
Проблема с дребезгом контактов. Кнопка китайская.
Контроллер все время спит. Все выключено кроме 16 битного таймера для ШИМ сигнала. Просыпается по внешнему прерыванию по низкому уровню от кнопки.
Делаю так:
if (key == 0)
delay(1000);
if (key == 0)
{
while(!(key));
... событие после уст. 0
}
А надо сразу при первом только 0, а не после последнего.
Подскажите, пожалуйста, как быть?



Re: проблема с дребезгом
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7258
Не в сети
Ну и выкинь первые две строчки...
Если событие происходит достаточно долго, то с дребезгом и не надо бороться. Если быстро, то предусмотреть после выполнения цикла проверку на дребезг



Re: проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
А как сделать после цикла проверку на дребезг? Событие короткое.
Подскажите, пожалуйста.



Re: проблема с дребезгом
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7258
Не в сети
ХЗ
Я не знаю принципа работы. Далее опять ждущий режим и ожидание?

Если событие короткое, то ждем "1", пауза,проверка на "0" если да, то переход на проверку "1" иначе возврат в начало.
Тоесть, ждем отпускания кнопки.
Вообще, паузой устранять дребезг не совсем правильно. Неоходимо разработать хороший алгоритм вычисления дребезга)))) Хотя можно сделать без проверки на дребезг. Пауза секунду и в начало. Если кнопка еще нажата, фиксируется повторное нажатие...



Re: проблема с дребезгом
Модератор
Зарегистрирован:
26.01.2010 23:26
Из: Тирасполь
Сообщений: 3926
Не в сети
http://radio-hobby.org/modules/news/article.php?storyid=797

в самом простом варианте достаточно после обнаружения нажатия кнопки подождать около 20 ms(этого времени достаточно для протекания всех переходных процессов) и заново опросить состояние контактов. Если все еще замкнута-выполнить действие, а потом так же ждать размыкания.



Re: проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
да ждущий режим. Контроллер все время спит. Просыпается по внешнему прерыванию, работает только 16 битный таймер во время просыпания. Посыпается выполняет короткое действие и снова засыпает.
???



Re: проблема с дребезгом
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7258
Не в сети
Что
Цитата:
???

Выше расписаны действия.



Re: проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
Вы задавали вопрос: "Далее опять ждущий режим и ожидание?"



Re: проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
А вот Вы описали "ждем отпускание кнопки". Событие после чего идет. Проверки на 1, если да то происходит событие, иначе возврат в начало.



Re: проблема с дребезгом
Главный Технолог
Зарегистрирован:
01.07.2011 19:44
Из: Тольятти
Сообщений: 305
Не в сети
А вот Вы описали "ждем отпускание кнопки". Событие после чего идет? Проверки на 1, если да то происходит событие, иначе возврат в начало.

Ошибка)))



Поиск по форуму


Расширенный поиск

Разное

Интересно

Выходные каскады УНЧ бывают разных типов и не всегда есть возможность осуществить первое включение без оконечного каскада. В этом случае возможна замена низкоомных токоизмерительных резисторов на номиналы 5-10 Ом.