Нужно, чтобы программа ожидала нажатия кнопки, как это реализовать?

Я создал проект, где нужно использовать клавиатуру 4х4. Оно работает, однако мне надо, чтобы программа ожидала нажатия кнопки, а не ехала вперед со словами "Ну нет - так нет".
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
krdpsr
@krdpsr
для этого программисты используют цикл

цикл постоянно крутится и проверяет нажата ли кнопка
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Kyodza
@Kyodza
Инженер по лётным испытаниям лёгких самолетов
Данный вопрос надо решать через прерывание. Возникло событие (нажатие кнопки) - останавливаем все вычисления, обрабатываем событие, складываем результат в специальную ячейку памяти и снова отдаем управление программе. Работает это настолько быстро, что остановка программы не замечается.

У Алекса Гайвера хорошие уроки на эту тему. Например, о прерываниях и о клавиатурах. Скачайте готовую библиотеку, пример, отладьте его до рабочего состояния, а потом модифицируйте под себя.
Ответ написан
Комментировать
@evgeniy_lm
Как правило клавиатуру опрашивают с определенной частотой (например 200Гц). Реализовать это лучше по прерыванию таймера. Так же необходимо обеспечить устранение эффекта "дребезга кнопок", т.е. факт нажатия кнопки фиксируется только если она удерживается определенное время (30-50мс)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы