События с кнопками

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем grand, 2 май 2015.

  1. grand

    grand Гик

    Подскажите...
    Есть две кнопки. Нажимаю одну и держу, нажимаю вторую и тоже держу зажатой.
    Как мне дождаться пока их отпустят, что бы дальше действовать...

    Код (Text):
    while ((analogRead(A0) != 0)&&(analogRead(A1) != 0)) {}
    По идее такой цикл должен ждать пока отпустят обе кнопки. Но код после него работает, если отпустить даже одну любую...
     
  2. Kopilov

    Kopilov Гик

    Правильно. Условие зациклености: "(нажата кнопка 1) И (нажата кнопка 2)". Если хотя бы одну отпустить -- условие будет нарушено.
    Поменяйте && на ||. Если надо войти в цикл тогда и только тогда, когда обе кнопки (а не хотя бы одна) нажаты, а выйти -- когда обе отпущены, попробуйте так:
    Код (Text):

    if ((analogRead(A0) != 0)&&(analogRead(A1) != 0)) {//кнопки нажаты, зацикливаемся
        while ((analogRead(A0) != 0)||(analogRead(A1) != 0)) {
            //крутимся, пока нажата хотя бы одна
        }
    }