Клавиатура Arduino: следующая клавиша не отвечает
keypad
Мне было интересно, что к тому времени, когда я нажимаю следующую клавишу, она не возвращается к функции main_screen (). Как я могу исправить свой код?
void loop()
{
int exit = 0;
char input = customKeypad.getKey();
main_screen();
if (input=='A')
{
delay(100);
lcd.clear();
do{
lcd.setCursor(1,0);
lcd.print("Enter minutes: ");
if (input=='B')
{
break;
lcd.clear();
}
}
while(1);
}
}
@CJPM, 👍1
Обсуждение1 ответ
▲ 2
Вам нужно снова прочитать входные данные после того, как вы получите input == 'A'
. В тот момент, когда вы входите в do ... while
loop, вход всегда "A", поэтому input = = " B "
никогда не бывает истинным, и цикл никогда не завершается.
,
@JRI
Смотрите также:
- Использование CD74HC4067 16-канальный аналоговый мультиплексор Демультиплексор работает не так, как ожидалось
- Контакт клавиатуры как прерывание (проводка или программирование)
- Нет функции сопоставления для вызова 'DS3231 (const uint8_t &, const uint8_t &)
- Моя программа использует слишком много памяти
- Почему на моем ЖК-дисплее 16x2 отображаются странные буквы и не удается вставить клавишу с клавиатуры?
- Не удается заставить клавиатуру использовать Keyboard.write на Arduino Uno
- LCD экран печатает одни и те же символы дважды
- Как выйти из цикла while с помощью клавиатуры?
можете ли вы также поделиться полным кодом?, @ArduinoFan