k155la3 26 24 июня, 2018 Опубликовано 24 июня, 2018 · Жалоба У музыкантов нужно точно отслеживать длительность нажатия, с разрешением не хуже 10 мс. Это специфика. Там еще и амплитуду-форму сигнала нажатия клавиши надо отслеживать. Задача намного сложенее, чем HMI для оператора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 24 июня, 2018 Опубликовано 24 июня, 2018 · Жалоба Греть резисторы подтяжки таким током долго - не всегда разумно. Например, в педали тормоза обычных рядовых машин стоит концевик-кнопка, а роль резисторов подтяжки которой играют лампы стоп-сигналов - "одним выстрелом двух зайцев" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iliusmaster 5 24 июня, 2018 Опубликовано 24 июня, 2018 · Жалоба Ну раз музыканты это специфика, то вот еще один пример. Есть у меня самодеятельный ЦАП с пультом управления. Пульт с многими кнопками, а питается для уменьшения габаритов от батареи типоразмера 2320. Так вот если мне каждые 100мс опрашивать кнопки, то батарейки придется часто менять. Можно даже придумать хитрый алгоритм, который будет увеличивать интервал между опросами, если длительное время отсутствует нажатие, но тогда я буду беситься от долгого времени отклика при первом нажатии. Диоды же, повешенные на прерывание, позволяют МК спать все время, пока не произошло нажатия. Время работы от батареи значительно вырастает.... Эти примеры я для чего привожу, что каждой задаче - свое решение. И вопрос как лучше опрашивать клавиатуру на Си, требует уточнения, какую клавиатуру и в каких условиях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 24 июня, 2018 Опубликовано 24 июня, 2018 · Жалоба И вопрос как лучше опрашивать клавиатуру на Си, требует уточнения, какую клавиатуру и в каких условиях. Логично )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 24 июня, 2018 Опубликовано 24 июня, 2018 · Жалоба Ну раз музыканты это специфика, . . . . Мой коллега по работе пламенный сторонник "прерывательной" клавиатуры. Да, если нужен глубокий LPM и в то же время - быстрая реакции на нажатие - прерывания вне конкуренции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Make_Pic 0 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Мой коллега по работе пламенный сторонник "прерывательной" клавиатуры. Да, если нужен глубокий LPM и в то же время - быстрая реакции на нажатие - прерывания вне конкуренции. Тема ушла куда то "налево" :( А хотелось просто увидеть код хорошего простого решения по клавиатуре... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Тема ушла куда то "налево" :( А хотелось просто увидеть код хорошего простого решения по клавиатуре... Так что за клавиатура? Код сканирования вот такой клавиатуры устроит ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Тема ушла куда то "налево" :( А хотелось просто увидеть код хорошего простого решения по клавиатуре...Нет, тема идет полностью так, как Вы ее задали в первом посте. Опрос клавиатуры на С -> Как написать компактный и "красивый" код?Вот Вам и рекомендуют не сам код, а как его писать "красиво", те выбрать правильный алгоритм. Как его перенести на код - это уже дело техники. т.е. Вы хотите увидить готовый код - драйвер клавиатуры ? Хотя это несколко противоречит цитате выше :) (я свой драйвер матрицы 4x4 выложу, позднее). Вот реализация на С от Ti Low power keyb PDF SLAA773 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Например, в педали тормоза обычных рядовых машин стоит концевик-кнопка, а роль резисторов подтяжки которой играют лампы стоп-сигналов - "одним выстрелом двух зайцев" А зачем в "рядовых" машинах подтяжка с кнопки педали тормоза? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Вот реализация на С от Ti Тут надо сразу предупредить, что такая клавиатура надежно дает определить только одно нажатие. Если речь идет о клавиатуре скажем PC где надо обрабатывать несколько нажатий одновременно, то такая клавиатура не годится. Надо добавить диоды как минимум. А алгоритм соответственно не адаптирован к условиям сильных помех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба А зачем в "рядовых" машинах подтяжка с кнопки педали тормоза? Под рядовыми я понимаю бюджетные ширпотребные авто не самых "бородатых" годов (скажем, до 10лет), где все же производится хотя бы какой-нить целостность стоп-ламп, тем более, если авто с коробкой-автомат. Но это уже офф. Тут надо сразу предупредить, что такая клавиатура надежно дает определить только одно нажатие. Если речь идет о клавиатуре скажем PC где надо обрабатывать несколько нажатий одновременно, то такая клавиатура не годится. Надо добавить диоды как минимум. Вы верны своей "традиции" - очередной "пук в лужу" :biggrin: Любая матричная клавиатура позволяет однозначно обрабатывать условия, когда даже ВСЕ кнопки нажаты и уж тем более в любом сочетании любого числа одновременно нажатых кнопок. Никакие диоды тут не нужны. Достаточно лишь ряда резисторов подтяжки на столбцы или строки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Вы верны своей "традиции" - очередной "пук в лужу" :biggrin: За это вам предупреждение. Второго не будет. Любая матричная клавиатура позволяет однозначно обрабатывать условия, когда даже ВСЕ кнопки нажаты и уж тем более в любом сочетании любого числа одновременно нажатых кнопок. Никакие диоды тут не нужны. Достаточно лишь ряда резисторов подтяжки на столбцы или строки. А над этим предлагаю вам подумать еще раз. На матрице без диодов при одновременном нажатии в определенной конфигурации возможны фантомные определения нажатий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба А над этим предлагаю вам подумать еще раз. Согласен, поторопился с выводами. Без диодов в таком случае не обойтись. Однако, в случае с клавиатурой, у которой сопротивление нажатых кнопок относительно большое (пленочные клавиатуры), это решаемо без диодов. Но усложняется алгоритм опроса - нужен импульсный (ШИМ) или даже аналоговый способ измерений. Судя по всему именно такой и применяется в клавиатурах ПК, для выявления подобных "коллизий". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 25 июня, 2018 Опубликовано 25 июня, 2018 · Жалоба Извращение как раз в противоположном - ставить 5 Вт резистор подтяжки для подобных кнопок. А если кнопок много, то ... К вашему сведению, я не придумал ничего нового - в данном случае также "традиционно" позаимствовал идею, ... Конечно ничего нового. Я сам первый раз в серийном изделии использовал импульсную подтяжку низкоомным резистором в году эдак 2002. Вот только использовать её не для концевиков, а для клавиатуры как по мне это уже оверкилл... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 26 июня, 2018 Опубликовано 26 июня, 2018 · Жалоба Конечно ничего нового. Я сам первый раз в серийном изделии использовал импульсную подтяжку низкоомным резистором в году эдак 2002. Вот только использовать её не для концевиков, а для клавиатуры как по мне это уже оверкилл... Что за блажь использовать низкоомную подтяжку для механических контактов. Кто этот миф распускает, интересно? Т.е. интересует первоисточник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться