Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Старый 22.03.2013, 12:44   #61
bobr_25
Частый гость
 
Регистрация: 29.12.2008
Сообщений: 14
Сказал спасибо: 59
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
bobr_25 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Можно я со своим вопросом влезу?

По дребезгу контактов, в основном рекомендуют примерно такой алгоритм:

1. периодически опрашиваем состояние контактов.
2. если в течении определенного времени состояние контактов не меняется
считаем его стабильным, и выполняем соответствующие этому состоянию действия.

А чем плох такой алгоритм?

1. периодически опрашиваем состояние контактов.
2. при изменении состояния, прекращаем опрашивать (или игнорируем изменения состояния) на определенное время и сразу выполняем соответствующие этому состоянию действия.
Реклама:
bobr_25 вне форума  
Старый 22.03.2013, 13:14   #62
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от bobr_25 Посмотреть сообщение
Можно я со своим вопросом влезу?

А чем плох такой алгоритм?

1. периодически опрашиваем состояние контактов.
2. при изменении состояния, прекращаем опрашивать (или игнорируем изменения состояния) на определенное время и сразу выполняем соответствующие этому состоянию действия.
Плох тем, что не сформулирован однозначно :
1. "периодически опрашиваем состояние контактов." -= всё время видим 0 =-
2 ."при изменении состояния" -= увидели 1 =- "прекращаем опрашивать (или игнорируем изменения состояния) на определенное время" -= делаем задержку =- "и сразу" -= !!! до задержки? после? =- "выполняем соответствующие этому состоянию действия." -= после задержки состоянием не интересуемся? Тогда зачем задержка? =-

Если вы о том, что при изменении состояния кнопки ждём 10/30/50 мс, опрашиваем кнопку и снова получив то же состояние, считаем, что переключение произошло, то перечитайте эту тему. Подключите осциллограф к разным кнопкам/микрикам/герконам/переключателям, посмотрите. Погуглите, зачем RS232 делает 3 выборки в каждом бите, а не одну.

Я один заметил, что примерно к 8-10 странице темы круг замыкается, в смысле появляются вопросы, заданные на 1-2 листе?
makakus вне форума  
Старый 22.03.2013, 13:46   #63
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от makakus Посмотреть сообщение
зачем RS232 делает 3 выборки в каждом бите, а не одну.
Потому, что RS232 - асинхронный интерфейс, и ему хочется попасть в середину бита при опросе входа ...
Yurkin2007 вне форума  
Старый 22.03.2013, 14:03   #64
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от Yurkin2007 Посмотреть сообщение
зачем RS232 делает 3 выборки в каждом бите, а не одну
Три - это исчо минимум.
Boba_spb вне форума  
Старый 22.03.2013, 16:29   #65
bobr_25
Частый гость
 
Регистрация: 29.12.2008
Сообщений: 14
Сказал спасибо: 59
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
bobr_25 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от makakus Посмотреть сообщение
Плох тем, что не сформулирован однозначно

Уточню.
В прерывании по таймеру - устанавливаем флаг.
В основном цикле -
По условию установленного флага,
опрашиваем состояние кнопок (сравниваем с предыдущим).
Если есть изменение состояния, то следующие N прерываний таймера
будем игнорировать изменение состояния для этой кнопки.
Считаем что состояние кнопки изменилось.
bobr_25 вне форума  
Старый 22.03.2013, 16:57   #66
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от bobr_25 Посмотреть сообщение
Если есть изменение состояния, то следующие N прерываний таймера будем игнорировать изменение состояния для этой кнопки.
А если это не нажатие кнопки а помеха (кнопки на проводках)?
oleg110592 вне форума  
Сказали "Спасибо" oleg110592
bobr_25 (22.03.2013)
Старый 22.03.2013, 17:23   #67
bobr_25
Частый гость
 
Регистрация: 29.12.2008
Сообщений: 14
Сказал спасибо: 59
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
bobr_25 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Я не имел ввиду конкретного устройства, допустим кнопка на той-же плате, пин контроллера сконфигурирован как вход с подтяжкой к питанию, кнопка соответственно на корпус.
bobr_25 вне форума  
Старый 22.03.2013, 17:47   #68
oleg110592
Гражданин KAZUS.RU
 
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Подтяжки портов внутренние 50К - от прикосновения рук наводки. В реальных условиях могут быть проблемы. Чисто теоретически будет работать.
oleg110592 вне форума  
Сказали "Спасибо" oleg110592
bobr_25 (22.03.2013)
Старый 22.03.2013, 18:38   #69
bobr_25
Частый гость
 
Регистрация: 29.12.2008
Сообщений: 14
Сказал спасибо: 59
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
bobr_25 на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Все понятно, спасибо за ответы.
bobr_25 вне форума  
Старый 22.03.2013, 22:07   #70
krug_vv
Вид на жительство
 
Регистрация: 09.12.2009
Адрес: Россия, Тула
Сообщений: 377
Сказал спасибо: 192
Сказали Спасибо 156 раз(а) в 99 сообщении(ях)
krug_vv на пути к лучшему
По умолчанию Re: Опрос кнопки/клавиатуры

Сообщение от bobr_25 Посмотреть сообщение
Я не имел ввиду конкретного устройства, допустим кнопка на той-же плате, пин контроллера сконфигурирован как вход с подтяжкой к питанию, кнопка соответственно на корпус.
Лучше подтягивать снаружи, насколько хватит наглости (тока) стабилизатора. Не больше 10 кОм точно. Лучше 4,7 или 3.
А когда клава с кнопками вынесена на шлейфе хотя бы на метр - можно еще кондерами законтрить по 0,1мкф, плюс все кнопки через диоды на стабилитрон 4,7в.
Напрямую на стабилитрон нельзя, он может остаться в приоткрытом режиме от малого тока подтяжки. Если там окажется 2,5 вольта - контроллер не поймет нажато или нет. Я так попадал.
Ну и программная обработка дребезга тоже остается
krug_vv вне форума  
Сказали "Спасибо" krug_vv
bobr_25 (24.03.2013)
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опрос кнопки на atmega 16 2517212 Микроконтроллеры, АЦП, память и т.д 10 31.03.2012 10:22
Опрос клавиатуры ra0wbj Микроконтроллеры, АЦП, память и т.д 3 13.10.2011 21:40
Опрос матричной клавиатурки serb-radio Электроника - это просто 2 31.07.2009 16:32
Опрос удалённых датчиков. picavr Микроконтроллеры, АЦП, память и т.д 6 20.03.2009 01:09
Опрос кнопки Electric111 Микроконтроллеры, АЦП, память и т.д 15 18.12.2007 22:48


Часовой пояс GMT +4, время: 19:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot