Функции опроса матричной клавиатуры
- Войдите на сайт для отправки комментариев
Втр, 29/03/2016 - 21:24
Друзья, начал использовать библиотеку Keypad для опроса кнопок клавиатуры. Стандартная функция считывания данных getKey() показывает была ли нажата та или иная клавиша, но удержание клавиши ни к чему не приводит. По всей видимости за постоянное получение сигналов при удержании отвечает функция KeyState getState(), но как ее записывать в код не понятно. В результате попыток одни ошибки. Может кто сталкивался?
http://playground.arduino.cc/code/Keypad
getState() - устарела и оставлена для совместимости
используйте bool isPressed(char keyChar);
покрайне мере в новых версиях библиотеки так - может в старых оно и работало
Посмотрел исходник библиотеки - там несколько ошибок внутри, надо будет исправить их для себя.
На некоторых форумах говорят, что непрерывно получать сигнал при использовании данной библитеки нельзя. Хотя, как я понял из описания самой библиотеки, есть функции получения непрерывного сигнала при удержании кнопки.
Удалось решить эту проблему вот так. Нужно было выдавать импульсы, пока нажата кнопка. Решение примитивное, но устраивает.
Фишка в том, что если вывести .getState() в сериал, то, пока клавиша не нажата - пишет 0, если нажата - 1, если долго нажата - 2.