ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
847409 Топик полностью
Boвa (11.06.2018 16:54 - 17:26, просмотров: 112) ответил Скрипач на Вопрос знатокам алгоритмов :)
Можно использовать массив значений: номер элемента есть значение считанное с АЦП и огрубленное до N разрядов, в ячейке массива хранится битовое представление нажатия кнопок соответствующее огрубленному коду с АЦП.  Перекодировка по скорости равна доступу к элементу массива. Недостаток метода жрет память если вам для чего-то понадобилось 64-128 значений с АЦП. Другой вариант: массив хранит объекты упорядоченные по полю por в сторону возрастания struct AA{ unsigned char por; //порог соответствующий максимальному напряжению на входе АЦП для этого состояния (и худших условий) char keys; //код нажатия кнопок каждый бит отвечает своей кнопке 0 - нажата, 1 не нажата. }; Для поиска состояния кнопок просматриваете массив с самого начала и находите элемент с полем por большим чем код с АЦП. Поле keys этого элемента даст комбинацию нажатых кнопок.