-
- 8- кнопок , максимум 2 канала АЦП и то в зависимости от "коридора" значений. Дребезг - пофиг. Кнопки определяются по их состоянию. "Два объекта из трех могут работать вместе, с третьим - нет." - Да и по предворительным прикидкам и 8 кнопок не ilyaul(241 знак., 03.12.2010 00:58)
- Период опроса кнопок надо миллисекунд 10, чаще опрашивать бессмысленно. Причем нажатие считать правильным только после нескольких опросов с положительным результатом. А у вас какие то 2 миллисекунды... Это и есть результат многолетней работы =L.A.=(20 знак., 02.12.2010 21:18)
- А при опросе с периодом 30-50 мсек дребезг автоматически "идет лесом". Мне, например, никогда не требовалось опрашивать чаще. - Argon(03.12.2010 09:46)
- А у меня, например, энкодер на микроволновке (borg) прыгает куда хочет... опрос с периодом. - maik-vs(03.12.2010 13:24)
- Энкодер выдает импульсы, причем имеет направление. А у кнопки два устойчивых состояния. - =L.A.=(03.12.2010 14:17)
- какие импульсы... считай, два микрика. Рукой кручу его, мееедленно, типа задаю сколько секунд греть. maik-vs(220 знак., 03.12.2010 16:30)
- это может быть механической неисправностью - koyodza(03.12.2010 14:02)
- Энкодер выдает импульсы, причем имеет направление. А у кнопки два устойчивых состояния. - =L.A.=(03.12.2010 14:17)
- А у меня, например, энкодер на микроволновке (borg) прыгает куда хочет... опрос с периодом. - maik-vs(03.12.2010 13:24)
- В удаленном варианте на клаву лучше поставить отдельный микроконтроллер. Сейчас это недорого. - =L.A.=(02.12.2010 21:21)
- А при опросе с периодом 30-50 мсек дребезг автоматически "идет лесом". Мне, например, никогда не требовалось опрашивать чаще. - Argon(03.12.2010 09:46)
- Ну, если телодвижения только по нажатию кнопок. То можно сделать что-то вроде копирования состояния кнопок в выход. После обработки. mazur(340 знак., 02.12.2010 11:46)
- Дружище, тут философский базар, а ты с ассемблерными командами. Сейчас между кнопками и выводами контроллера еще как минимум три уровня автоматов прописывается (device/unit/motor). Проект переделывается после того, как несколько лет над ним Vladimir Ljaschko(59 знак., 02.12.2010 11:54)
- А я че, я ниче. Тут же гиганты программисткой мысли. Вы после нескольких лет работы других программистов еще пару десятков лет пофилосовствуете и столько же уровней добавите. Вы же прогресс двигаете, а я так,
не пришей к пизде рукавmazur(20 знак., 02.12.2010 13:53)- Здоровая реакция, но в 30 лет несколько неуместная. - Vladimir Ljaschko(02.12.2010 13:59)
- 32. Ну тянет иногда меня дурака повалять. Грешен, каюсь. Ну а правда, зачем заморачиваться, я накидывал тему: mazur(300 знак., 02.12.2010 14:11)
- Угу, просто на самом деле Vladimir Ljaschko(297 знак., 02.12.2010 14:18)
- Нога контроллера одна. Ногодрыгов много. Вывод-логика между ногодрыгами и ногой контроллера. Если стоит защита, это однозначно, защита должна разрешать-запрещать ногодрыгание. - mazur(02.12.2010 14:26)
- Вот у меня с моим опытом и получилось три слоя абстракции. Учись, и ты так будешь! :) Все, тема закрыта. - Vladimir Ljaschko(02.12.2010 14:29)
- Нога контроллера одна. Ногодрыгов много. Вывод-логика между ногодрыгами и ногой контроллера. Если стоит защита, это однозначно, защита должна разрешать-запрещать ногодрыгание. - mazur(02.12.2010 14:26)
- Угу, просто на самом деле Vladimir Ljaschko(297 знак., 02.12.2010 14:18)
- 32. Ну тянет иногда меня дурака повалять. Грешен, каюсь. Ну а правда, зачем заморачиваться, я накидывал тему: mazur(300 знак., 02.12.2010 14:11)
- Здоровая реакция, но в 30 лет несколько неуместная. - Vladimir Ljaschko(02.12.2010 13:59)
- А чё. Ну их, три уровня этих. С выхода кнопки прямо на драйвер движка и завести. Экономия 3-х лет работы программистов между прочим. У Б. Страуструпа в какой-то главе посвящённой методам решения программных проблем был и непрограммный метод -- fk0(39 знак., 02.12.2010 13:26)
- Почти так и сделано :) но нужно синхронизировать движение по датчикам Холла. - Vladimir Ljaschko(02.12.2010 14:04)
- А я че, я ниче. Тут же гиганты программисткой мысли. Вы после нескольких лет работы других программистов еще пару десятков лет пофилосовствуете и столько же уровней добавите. Вы же прогресс двигаете, а я так,
- Дружище, тут философский базар, а ты с ассемблерными командами. Сейчас между кнопками и выводами контроллера еще как минимум три уровня автоматов прописывается (device/unit/motor). Проект переделывается после того, как несколько лет над ним Vladimir Ljaschko(59 знак., 02.12.2010 11:54)
- Условно говоря, "на прерываниях" (а может и не на, но с периодичностью раз в ~20мс) выполняется сканирование матрицы и запись нажатых клавиш в битовый массив. Если матрица -- больше 2-х клавиш нажимать нельзя типично. При этом отрабатываются все fk0(578 знак., 02.12.2010 11:37)
- Пока приблизительно так и делаю, но для варианта уделенной клавиатуры придется переосмыслить. - Vladimir Ljaschko(02.12.2010 11:58)
- Чего спрашивал, сам все знаешь как надо :-). У меня 3 кнопки и скан коды. Так жить легче наверху abivan(89 знак., 02.12.2010 09:14)
- А в чём проблема со скан-кодами? Я по привычке делаю события (код кнопки, нажато/отжато), и распределяю их нужным образом. - SciFi(01.12.2010 21:15)
- Наверное, если буфер для скан-кодов сделать, тогда нет проблем. Есть у Вас буфер? - Vladimir Ljaschko(01.12.2010 21:26)
- Кстати да, буфер есть. Цена вопроса - около 10 строк кода. А он реально не нужен, так как обработка быстрее, чем нажатия с учётом устранения дребезга. - SciFi(02.12.2010 00:25)
- какой нах буфер, когда речь идёт об управлении в реальном времени? Видал такие ужасы, типа понажимал быстро разные кнопочки, и девайс потом эту последовательность выполняет, только она уже не нужна никому koyodza(107 знак., 01.12.2010 21:30)
- Ни разу не встречал, чтобы микроконтроллер "не успевал" отрабатывать нажатия кнопок, то есть его время реакции на нажатия было хуже, чем у человека. Вот компьютер, где установлен Касперский, действительно тормозит нажатия и "дергает" мышку. - =L.A.=(02.12.2010 09:39)
- Мобилка LG. Редкостное уебище. Пока экран не отрисует - нажатия пропускает. Руки отрывать. - Cepгeй Бopщ(02.12.2010 10:25)
- не только лыжи. В сониэриксонах такое тоже когда-то видел. И в новенькой нокии у тёщи то же самое - koyodza(02.12.2010 21:25)
- Только вчера на Электрониксе поминали "добрым словом" как саму фирму LG, так и всех корейцев и рекрутеров из кадровых агентств, что вешают лапшу искателям работы. - =L.A.=(02.12.2010 11:14)
- Как можно "успеть", если подзаложиться, что кнопки могут быть нажаты одновременно(с точностью до дребезга)? Нужен или механизм поочередной отдачи скан-кодов, или таки буфер. Без этого существует возможность потери нажатия второй кнопки в Vladimir Ljaschko(63 знак., 02.12.2010 10:17)
- Я чота не понял про интервал 2 мС между нажатиями. - =L.A.=(02.12.2010 16:46)
- Ну у меня время оборота основного цикла такое получилось. - Vladimir Ljaschko(02.12.2010 16:47)
- Конечно забить. Нажал две кнопки одновременно - сам дурак. Сначала определись, потом нажимай. Можно в инструкции так и написать :-) - SciFi(02.12.2010 12:25)
- Я чота не понял про интервал 2 мС между нажатиями. - =L.A.=(02.12.2010 16:46)
- Мобилка LG. Редкостное уебище. Пока экран не отрисует - нажатия пропускает. Руки отрывать. - Cepгeй Бopщ(02.12.2010 10:25)
- Без буфера еще хуже - допустим, драйвер обнаружил разницу в двух битах. Пока отрабатывается один скан-код, второй теряется. Я не против прямого управления, но в событийной системе есть свои достоинства. - Vladimir Ljaschko(01.12.2010 21:37)
- есть, только нужны ли они здесь? Приоритеты Вам расставлять - koyodza(01.12.2010 21:51)
- Ни разу не встречал, чтобы микроконтроллер "не успевал" отрабатывать нажатия кнопок, то есть его время реакции на нажатия было хуже, чем у человека. Вот компьютер, где установлен Касперский, действительно тормозит нажатия и "дергает" мышку. - =L.A.=(02.12.2010 09:39)
- Наверное, если буфер для скан-кодов сделать, тогда нет проблем. Есть у Вас буфер? - Vladimir Ljaschko(01.12.2010 21:26)
- если "пока держишь кнопку, объект шевелится", то я бы лучше не нажатие и отжатие фиксировал, а тупо состояние кнопок. Тогда при обрыве связи объект не будет шевелиться до посинения koyodza(410 знак., 01.12.2010 20:39)
- О! Теперь процедурное мышление пригодилось :) Поподробнее вводные можно? Также назначение всех 8 кнопок. - mazur(01.12.2010 20:29)
- Если кнопки выполняют тупые функции, то отпадает удержание и автоповтор. Остается только функция устранения дребезга. Что-то вроде: mazur(607 знак., 01.12.2010 21:40)
- Алгоритм "Срабатывание по отпусканию". Чаще нужен алгоритм "срабатывание по нажатию" ut1wpr(23 знак., 02.12.2010 08:55)
- Это и есть алгоритм по нажатию. - mazur(02.12.2010 10:21)
- Алгоритм "Срабатывание по отпусканию". Чаще нужен алгоритм "срабатывание по нажатию" ut1wpr(23 знак., 02.12.2010 08:55)
- Если кнопки выполняют тупые функции, то отпадает удержание и автоповтор. Остается только функция устранения дребезга. Что-то вроде: mazur(607 знак., 01.12.2010 21:40)