Как мигать одним символом без задержки () методом на ЖК-дисплее с помощью Arduino? - PullRequest
0 голосов
/ 04 декабря 2018

Итак, я хочу написать метод, который может обеспечить мигание на ЖК-дисплее в специальной возможности значения без использования метода delay ().Я написал следующий метод:

void blink(int cursorIndex, int val) {
   lcd.setCursor(cursorIndex, 0);

   if (millis() - blinkTime > 1000) {
      blinkTime = millis();
      printValOnLCD(val);
   } else {
      lcd.print(" ");
      lcd.print(" ");
   }
}

Но он работает не в том случае, если мне это действительно нужно.Он мигает только один раз, когда millis() - blinkTime > 1000, в других случаях он показывает __.

Как я могу обеспечить одно мигание в секунду ??

1 Ответ

0 голосов
/ 05 декабря 2018

Этот следующий код должен позволять ЖК-монитору мигать один раз в секундуСкорость мигания может быть изменена путем изменения переменной blinkSpeed_ms.

void blink(int cursorIndex, int val) {
   lcd.setCursor(cursorIndex, 0);
   blinkSpeed_ms = 1000; //This variable defines the blinking speed

   if ((millis() - blinkTime > blinkSpeed_ms) && (millis() - blinkTime < blinkSpeed_ms * 2)) {
      printValOnLCD(val);
   } else if(millis() - blinkTime > (blinkSpeed_ms * 2)) {
      blinkTime = millis()
   }else {
      lcd.print(" ");
      lcd.print(" ");
   }
}
...