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

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

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

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

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

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


 
Опции темы
Непрочитано 26.01.2013, 02:49  
Dimitrij
Временная регистрация
 
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
Dimitrij на пути к лучшему
По умолчанию Re: Помогите с обработкой кнопок в CVAVR

Всем большое спасибо! С вашей помощью разобрался.
Тему можно закрыть!
Реклама:
Dimitrij вне форума  
Непрочитано 08.11.2013, 13:40  
ran_075
Прохожий
 
Регистрация: 08.11.2013
Адрес: Украина, Донецк
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ran_075 на пути к лучшему
По умолчанию Re: Помогите с обработкой кнопок в CVAVR

Сообщение от Saadov Посмотреть сообщение
PHP код:
int knKey 0;
while(
1)
{
if(!
PINB.1){ kn 0delay_ms(20); while (PINB.1 == kn); Key=4; };
if(!
PINB.2){ kn 0delay_ms(20); while (PINB.2 == kn); Key=3; };
}; 
В вашем случае мы нажали PINB.1 и присвоили переменной Key значение 4, дальше у нас по ходу действия программы проверяется нажата ли PINB.2, если не нажата, то Key присваивается значение 0, т.е вы почти сразу же обнуляете Key.

Код выше работает так, вы нажали кнопку, ждем 20 мсек пока пройдет дребезг, снова проверяем не изменилось ли состояние кнопки, ждем пока изменится и присваиваем переменной нужное значение.
Объясните пожалуйста смысл переменной kn в этом примере.

Последний раз редактировалось ran_075; 08.11.2013 в 13:48.
ran_075 вне форума  
Непрочитано 08.11.2013, 13:49  
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Помогите с обработкой кнопок в CVAVR

Сообщение от ran_075 Посмотреть сообщение
Объясните смысл переменной kn в этом примере.
С этой переменнй сравнивается значение на пине через 20 ms и позволяет отрабатывать действие, только после отпускания кнопки.
Saadov вне форума  
Непрочитано 08.11.2013, 16:51  
ran_075
Прохожий
 
Регистрация: 08.11.2013
Адрес: Украина, Донецк
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ran_075 на пути к лучшему
По умолчанию Re: Помогите с обработкой кнопок в CVAVR

Сообщение от Saadov Посмотреть сообщение
С этой переменнй сравнивается значение на пине через 20 ms и позволяет отрабатывать действие, только после отпускания кнопки.
Спасибо за ответ. Но.
Разве ваш код
Сообщение от Saadov Посмотреть сообщение
PHP код:
int knKey 0;
while(
1)
{
if(!
PINB.1){ kn 0delay_ms(20); while (PINB.1 == kn); Key=4; };
if(!
PINB.2){ kn 0delay_ms(20); while (PINB.2 == kn); Key=3; };
}; 
не равноценен этому коду?
PHP код:
int knKey 0;
while(
1)
{
if(!
PINB.1){delay_ms(20); while (PINB.1 == 0); Key=4; };
if(!
PINB.2){delay_ms(20); while (PINB.2 == 0); Key=3; };
}; 
ran_075 вне форума  
Непрочитано 11.11.2013, 21:36  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Помогите с обработкой кнопок в CVAVR

Сообщение от Wiza_ Посмотреть сообщение
Key=0;
if(!PINB.1) Key=4;
if(!PINB.2) Key=3;
При одновременно нажатых кнопках Key=3;
Key=0;
if(!PINB.1) Key+=4;
if(!PINB.2) Key+=3;

При одновременно нажатых кнопках Key=7. Всего-то суммировать, и новичку не требуется пока вникать в битовые операции, чтобы обработать 2 одновременно нажатые кнопки.
Someone вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самосрабатывание кнопок al-slimy Делимся опытом 5 29.01.2015 16:41
Помогите найти обучалки по микроконтроллерах AVR на CVAVR ! olegdemkiv111 Микроконтроллеры, АЦП, память и т.д 9 20.08.2012 09:59
Помогите переписать с winavr на cvavr vituha40 Цифровые сигнальные процессоры 21 25.05.2011 21:20
Помогите с записью в память по заданному адресу в cvavr begun Микроконтроллеры, АЦП, память и т.д 5 06.04.2011 11:32
Помогите с обработкой нажатия кнопки pic12f629 alexandr-nimnul Микроконтроллеры, АЦП, память и т.д 5 18.10.2009 13:15


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


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