Прокрутка текста на 1602 ЖК-дисплее и одновременное прослушивание нажатия кнопки - PullRequest
0 голосов
/ 29 апреля 2020

Я использую Arduino Micro с модулем IC2 и 1602 LCD. Я написал функцию для прокрутки строки на ЖК-дисплее, но хочу одновременно прослушивать нажатие кнопки.

Вот мой код прокрутки:

void ScrollingText(String(StringToScroll), int(LineToScroll))
{
  lcd.setCursor(0, LineToScroll);
  if(StringToScroll.length() <= 16)
  {
    lcd.print(StringToScroll);
  }
  else
  {
    for (int x = 0; x < StringToScroll.length()-15; x++) {
      lcd.clear();
      delay(10);
      for (int i = 0; i < 16; i++) {
        lcd.print(StringToScroll[i+x]);
      }
      if(x == 0 or x == StringToScroll.length()-16)
      {
        delay(1000);
      }
      else
      {
       delay(400); 
      }
      lcd.setCursor(0, LineToScroll);
    }
  }
}

заранее спасибо

1 Ответ

0 голосов
/ 29 апреля 2020

Вы можете прослушать нажатие кнопки на контакте прерывания , например:

const byte interruptPin = 2;
volatile bool buttonState = false;

void setup() {
    pinMode(interruptPin, INPUT_PULLUP);
    attachInterrupt(digitalPinToInterrupt(interruptPin), ButtonISR, CHANGE);
}

void ButtonISR() {
     // set buttonState
}

, а затем проверить или использовать buttonState в вашем l oop.

...