Как правильно обработать дальше коды нажатия кнопок

Тема в разделе "Arduino & Shields", создана пользователем Максим B, 23 май 2015.

  1. Максим B

    Максим B Гуру

    Всем привет. Сижу и пока не понимаю в какую сторону копать. Есть кусок кода (рабочий) который обрабатывает нажатие кнопок на МК pt6961

    key1 = shiftIn(dout, clockPin, LSBFIRST);
    key2 = shiftIn(dout, clockPin, LSBFIRST);
    key3 = shiftIn(dout, clockPin, LSBFIRST);
    key4 = shiftIn(dout, clockPin, LSBFIRST);
    key5 = shiftIn(dout, clockPin, LSBFIRST);

    digitalWrite(strobePin, LOW);
    for (uint8_t i = 0; i < 8; i++) {
    shiftOut(dataPin, clockPin, LSBFIRST, READKEY);
    }
    delay(1000);

    ky0=shiftIn(dout, clockPin, LSBFIRST);
    key1 = shiftIn(dout, clockPin, LSBFIRST);
    key2 = shiftIn(dout, clockPin, LSBFIRST);
    key3 = shiftIn(dout, clockPin, LSBFIRST);
    key4 = shiftIn(dout, clockPin, LSBFIRST);
    key5 = shiftIn(dout, clockPin, LSBFIRST);
    digitalWrite(strobePin, HIGH);

    key11=key1;
    key12=key2;

    button1=key11&1;
    button2=(key11&8)/8;
    button3=key12&1;
    button4=(key12&8)/8;

    }
    wordd=button1*1+button2*10+button3*100+button4*1000;

    Как правильно обработать нажатие программой??? Комбинация кодов примерно выглядит так: 1-0-0-1
    1-0-1-0
     
  2. DrProg

    DrProg Вечный нерд

    Можно код загнать в специальное окошко, трудно воспринимать в теле сообщения. Возле кавычек кнопка.
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    wordd = button1 | (button2 << 1) | (button3 << 2) | (button4 << 3);
    if(wordd == 0x8)... // 1001
    if(wordd == 0xA)... // 1010
    Вот это имеется ввиду?
     
  4. Максим B

    Максим B Гуру