|
Опрос клавиатуры на С, Как написать компактный и "красивый" код? |
|
|
|
 |
Ответов
|
Jun 24 2018, 11:11
|
Частый гость
 
Группа: Участник
Сообщений: 181
Регистрация: 15-04-17
Пользователь №: 96 556

|
Ну раз музыканты это специфика, то вот еще один пример. Есть у меня самодеятельный ЦАП с пультом управления. Пульт с многими кнопками, а питается для уменьшения габаритов от батареи типоразмера 2320. Так вот если мне каждые 100мс опрашивать кнопки, то батарейки придется часто менять. Можно даже придумать хитрый алгоритм, который будет увеличивать интервал между опросами, если длительное время отсутствует нажатие, но тогда я буду беситься от долгого времени отклика при первом нажатии. Диоды же, повешенные на прерывание, позволяют МК спать все время, пока не произошло нажатия. Время работы от батареи значительно вырастает.... Эти примеры я для чего привожу, что каждой задаче - свое решение. И вопрос как лучше опрашивать клавиатуру на Си, требует уточнения, какую клавиатуру и в каких условиях.
|
|
|
|
|
Jun 25 2018, 09:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848

|
Цитата(Make_Pic @ Jun 25 2018, 05:06)  Тема ушла куда то "налево"  А хотелось просто увидеть код хорошего простого решения по клавиатуре... Нет, тема идет полностью так, как Вы ее задали в первом посте. Цитата Опрос клавиатуры на С -> Как написать компактный и "красивый" код? Вот Вам и рекомендуют не сам код, а как его писать "красиво", те выбрать правильный алгоритм. Как его перенести на код - это уже дело техники. т.е. Вы хотите увидить готовый код - драйвер клавиатуры ? Хотя это несколко противоречит цитате выше  (я свой драйвер матрицы 4x4 выложу, позднее). Вот реализация на С от Ti Low power keyb PDF SLAA773
|
|
|
|
|
Jun 25 2018, 10:35
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(k155la3 @ Jun 25 2018, 12:09)  Вот реализация на С от Ti Тут надо сразу предупредить, что такая клавиатура надежно дает определить только одно нажатие. Если речь идет о клавиатуре скажем PC где надо обрабатывать несколько нажатий одновременно, то такая клавиатура не годится. Надо добавить диоды как минимум. А алгоритм соответственно не адаптирован к условиям сильных помех.
|
|
|
|
Сообщений в этой теме
Make_Pic Опрос клавиатуры на С Jun 23 2018, 05:17 Forger Цитата(Make_Pic @ Jun 23 2018, 08:17) Опр... Jun 23 2018, 06:38 Make_Pic Цитата(Forger @ Jun 23 2018, 09:38) ...
Д... Jun 23 2018, 07:20  Forger Цитата(Make_Pic @ Jun 23 2018, 10:20) Я н... Jun 23 2018, 08:05  AlexandrY RE: Опрос клавиатуры на С Jun 23 2018, 13:40   Forger ЦитатаB такая генерация спасает от рутины громозди... Jun 23 2018, 13:54    AlexandrY Цитата(Forger @ Jun 23 2018, 16:54) Отлич... Jun 23 2018, 14:09     Forger Цитата(AlexandrY @ Jun 23 2018, 17:09) Во... Jun 23 2018, 14:13      AlexandrY Цитата(Forger @ Jun 23 2018, 17:13) Друго... Jun 23 2018, 14:22       Forger Цитата(AlexandrY @ Jun 23 2018, 17:22) Та... Jun 23 2018, 14:29        AlexandrY Цитата(Forger @ Jun 23 2018, 17:29) Какие... Jun 23 2018, 14:43         Forger Цитата(AlexandrY @ Jun 23 2018, 17:43) Че... Jun 23 2018, 14:54   x893 Цитата(AlexandrY @ Jun 23 2018, 16:40) ..... Jun 23 2018, 15:01    Сергей Борщ QUOTE (x893 @ Jun 23 2018, 18:01) Но это ... Jun 23 2018, 16:01     AlexandrY Цитата(Сергей Борщ @ Jun 23 2018, 19:01) ... Jun 23 2018, 17:25 x893 Цитата(Forger @ Jun 23 2018, 09:38) ...
д... Jun 23 2018, 08:03 iliusmaster Обычно, чтобы ничего постояно не опрашивать, все с... Jun 23 2018, 17:17 Forger Цитата(iliusmaster @ Jun 23 2018, 20:17) ... Jun 23 2018, 18:03 k155la3 Цитата(iliusmaster @ Jun 23 2018, 20:17) ... Jun 24 2018, 08:23 ArtemKAD Ну развели... Проблема дребезга полностью освещена... Jun 23 2018, 19:56 Forger Цитата(ArtemKAD @ Jun 23 2018, 22:56) Ну ... Jun 23 2018, 20:43 Сергей Борщ QUOTE (ArtemKAD @ Jun 23 2018, 22:56) For... Jun 23 2018, 21:07  Forger Цитата(Сергей Борщ @ Jun 24 2018, 00:07) ... Jun 23 2018, 21:17  ArtemKAD Цитата(Сергей Борщ @ Jun 24 2018, 00:07) ... Jun 23 2018, 23:20   Forger Цитата(ArtemKAD @ Jun 24 2018, 02:20) Я б... Jun 24 2018, 06:52 ArtemKAD Импульсную подтяжку еще и на кнопку - знаете вы то... Jun 24 2018, 07:23 Forger Цитата(ArtemKAD @ Jun 24 2018, 10:23) Имп... Jun 24 2018, 08:10  ArtemKAD Цитата(Forger @ Jun 24 2018, 11:10) Извра... Jun 25 2018, 22:31   AlexandrY Цитата(ArtemKAD @ Jun 26 2018, 01:31) Кон... Jun 26 2018, 05:17    Forger Цитата(AlexandrY @ Jun 26 2018, 08:17) Чт... Jun 26 2018, 05:25    iliusmaster Цитата(AlexandrY @ Jun 26 2018, 08:17) Чт... Jun 26 2018, 05:30     =L.A.= Цитата(iliusmaster @ Jun 26 2018, 08:30) ... Jun 26 2018, 05:44      haker_fox QUOTE (=L.A.= @ Jun 26 2018, 13:44) Писан... Jun 26 2018, 06:32       Forger Имхо, физика процесса тут не очень однозначная: ра... Jun 26 2018, 06:52     AlexandrY Цитата(iliusmaster @ Jun 26 2018, 08:30) ... Jun 26 2018, 07:42      Forger Цитата(AlexandrY @ Jun 26 2018, 10:42) По... Jun 26 2018, 07:49      iliusmaster Цитата(AlexandrY @ Jun 26 2018, 10:42) А ... Jun 28 2018, 15:55       AlexandrY Цитата(iliusmaster @ Jun 28 2018, 18:55) ... Jun 28 2018, 19:40        Herz Цитата(AlexandrY @ Jun 28 2018, 22:40) Ну... Jun 28 2018, 19:49         AlexandrY Цитата(Herz @ Jun 28 2018, 22:49) Коллега... Jun 28 2018, 20:27          Forger Вот еще немного любопытной информации про электрич... Jun 28 2018, 20:28           AlexandrY Цитата(Forger @ Jun 28 2018, 23:28) Вот е... Jun 29 2018, 04:36            Forger Цитата(AlexandrY @ Jun 29 2018, 07:36) У ... Jun 29 2018, 05:08             AlexandrY Цитата(Forger @ Jun 29 2018, 08:08) И не ... Jun 29 2018, 05:39              Forger Цитата(AlexandrY @ Jun 29 2018, 08:39) Ищ... Jun 29 2018, 05:50               AlexandrY Цитата(Forger @ Jun 29 2018, 08:50) По-хо... Jun 29 2018, 06:40                Forger Цитата(AlexandrY @ Jun 29 2018, 09:40) От... Jun 29 2018, 06:51                 AlexandrY Цитата(Forger @ Jun 29 2018, 09:51) Пруфы... Jun 29 2018, 06:56                  Forger Цитата(AlexandrY)Также вам предлагаю помолчать отн... Jun 29 2018, 07:05          rx3apf Цитата(AlexandrY @ Jun 28 2018, 23:27) То... Jun 28 2018, 20:41           AlexandrY Цитата(rx3apf @ Jun 28 2018, 23:41) Все б... Jun 28 2018, 20:43          Herz Цитата(AlexandrY @ Jun 28 2018, 23:27) С ... Jun 28 2018, 23:13        rx3apf Цитата(AlexandrY @ Jun 28 2018, 22:40) (д... Jun 28 2018, 20:11    ArtemKAD Цитата(AlexandrY @ Jun 26 2018, 08:17) Чт... Jun 28 2018, 14:42 Herz Цитата(ArtemKAD @ Jun 24 2018, 10:23) Имп... Jun 24 2018, 09:50  Forger Цитата(Herz @ Jun 24 2018, 12:50) Греть р... Jun 24 2018, 10:03   Herz Цитата(Forger @ Jun 24 2018, 13:03) Напри... Jun 25 2018, 10:02    Forger Цитата(Herz @ Jun 25 2018, 13:02) А зачем... Jun 25 2018, 12:13     AlexandrY Цитата(Forger @ Jun 25 2018, 15:13) Вы ве... Jun 25 2018, 12:24      Forger Цитата(AlexandrY @ Jun 25 2018, 15:24) А ... Jun 25 2018, 12:32 iliusmaster У музыкантов нужно точно отслеживать длительность ... Jun 24 2018, 09:30 Forger Цитата(iliusmaster @ Jun 24 2018, 12:30) ... Jun 24 2018, 09:38 k155la3 Цитата(iliusmaster @ Jun 24 2018, 12:30) ... Jun 24 2018, 09:57 Forger Цитата(iliusmaster @ Jun 24 2018, 14:11) ... Jun 24 2018, 11:21   AlexandrY Цитата(Make_Pic @ Jun 25 2018, 05:06) Тем... Jun 25 2018, 08:49   arhiv6 Цитата(Make_Pic @ Jun 25 2018, 09:06) Тем... Jun 27 2018, 05:34 k155la3 Цитата(Make_Pic @ Jun 23 2018, 08:17) . .... Jun 26 2018, 08:41 Jenya7 В последних проектах юзаем ADP5589. Изначально я б... Jun 26 2018, 14:35 Forger Цитата(Jenya7 @ Jun 26 2018, 17:35) В пос... Jun 26 2018, 15:24  haker_fox QUOTE (Forger @ Jun 26 2018, 23:24) Имхо,... Jun 27 2018, 02:32   Forger Цитата(haker_fox @ Jun 27 2018, 05:32) Ну... Jun 27 2018, 04:35  k155la3 Цитата(Forger @ Jun 26 2018, 18:24) Код в... Jun 27 2018, 06:36 AlexandrY Цитата(Jenya7 @ Jun 26 2018, 17:35) В пос... Jun 27 2018, 05:08 haker_fox QUOTE (Forger @ Jun 27 2018, 12:35) Спорн... Jun 27 2018, 07:22 rx3apf Напряжение, очевидно, нужно чтобы пробить пленку. ... Jun 28 2018, 15:59 Forger Цитата(iliusmaster)
Цитата(rx3apf)
Вот: https://el... Jun 28 2018, 16:04
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|