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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 15.04.2011, 20:24   #71
poligon_85
Временная регистрация
 
Аватар для poligon_85
 
Регистрация: 11.04.2011
Сообщений: 54
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poligon_85 на пути к лучшему
Вопрос Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Кнопка герконовая будет.

Дело не в языке. Я в алгоритм никак не въеду.
Реклама:
poligon_85 вне форума  
Непрочитано 15.04.2011, 20:27   #72
oleg_harp
Прописка
 
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
oleg_harp на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Easyrider83 Посмотреть сообщение
Дребезг устранять програмно - очень много кода выйдет.
Хороший прикол!
oleg_harp вне форума  
Непрочитано 15.04.2011, 20:30   #73
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Придумайте свой.
Ваш предыдущий код и должен работать именно так, как Вы описали.
Как бы я написал Ваш код - именно по инвертированию.
Ни в каких симуляторах не проверял, возможны ошибки.
PHP код:
{                                
    
TCNT0=0xB2;                      
    if (!
button)// если кнопка нажата
    
{
        if(!
first// и флаг сброшен
        
{
            
first=1// ставим флаг счета
            
timer_count=0// обнуляем счетчик 
        
}
        else
        {
            
timer_count++; // увеличиваем счетчик антидребезга
            
if (timer_count › MAX_ANTI)//проверяем его
            
{
                
PORTB.3^=1;
                
first=0// сбрасываем флаг
            
}
        }
    }
    else 
// кнопка отжата
    
{    
        if(
first// но флаг взведен
        
{
            if(
timer_count)timer_count--;// уменьшаем счетчик антидребезга
            
else first=0;     // если можно, если нельзя сбрасываем флаг 
        
}        
    }
}
//----------------------------------------- 
__________________
warez
urry вне форума  
Непрочитано 15.04.2011, 20:33   #74
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Easyrider83 Посмотреть сообщение
Просто глубое отвращение как к самим камням
И совершенно напрасно. Споров заводить не собираюсь, только скажу, что каждый камень хорош по-своему. Подавление дребезга программно - нормальная практика. Подавлять его ёмкостями как раз непрофессионально. А дребезг имеет все, чья масса отлична от нуля. Без него, наверное, только оптика и магнитные датчики работают.
poligon_85, если всё ещё интересно, объясню, почему так, а не иначе.
omercury вне форума  
Непрочитано 15.04.2011, 20:35   #75
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от urry Посмотреть сообщение
Ваш предыдущий код и должен работать именно так, как Вы описали.
urry, Вы кому это?
omercury вне форума  
Непрочитано 15.04.2011, 20:38   #76
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

poligon_85, его предыдущий код.
__________________
warez
urry вне форума  
Непрочитано 15.04.2011, 20:41   #77
poligon_85
Временная регистрация
 
Аватар для poligon_85
 
Регистрация: 11.04.2011
Сообщений: 54
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poligon_85 на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

urry, не работает ваш код. На момент нажатия светодиод загорается, отпускаешь - гаснет. Или срабатывает всё через раз. При удержании моргает. MAX_ANTI сделал 9, т.е. время антидребезга 100 мс.

P.S. Я хочу сделать таким же образом, т.е. понимаю приведенный вами алгоритм, но не понимаю почему он не работает.

Последний раз редактировалось poligon_85; 15.04.2011 в 20:46.
poligon_85 вне форума  
Непрочитано 15.04.2011, 20:51   #78
oleg_harp
Прописка
 
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
oleg_harp на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от poligon_85 Посмотреть сообщение
MAX_ANTI сделал 9, т.е. время антидребезга 100 мс.
poligon_85, Вы нас запутываете. Вы в реале проверяете или в Proteus? В Proteus у кнопок нет никакого дребезга.
oleg_harp вне форума  
Непрочитано 15.04.2011, 20:57   #79
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

Сообщение от Easyrider83 Посмотреть сообщение
Да есть у меня все для работы в АВР. Проблема-то не в этом. Просто глубое отвращение как к самим камням, так и к тем людям, которые писали документации.
Камни как камни, вы их просто грызть не умеете...
Цитата:
Дребезг устранять програмно - очень много кода выйдет. Не мучайтесь, поставьте конденсатор. К тому же, мембранные кнопки с щелчком дребезга почти не имеют. Не знаю, как их надо нажимать, чтобы они дребезжали.
Не давайте дурных советов...
st_1 вне форума  
Непрочитано 15.04.2011, 21:02   #80
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Как отследить короткое и продолжительное нажатие кнопки в фонаре?

2poligon_85
Вас переклинило... вы зациклились, при таком раскладе в голову ничего не полезет...
Займитесь чем-то другим, переключитесь... отдохните...
st_1 вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Как правильно отследить импульс sdsrem Микроконтроллеры, АЦП, память и т.д 8 17.08.2010 21:28
[Решено] Третье Послание Человечеству lelkanet Отвлекитесь, эмбеддеры! 201 06.01.2010 00:33


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


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