因此,我想编写一种方法,可以在特殊情况下在LCD上提供闪烁的特殊值,而无需使用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
显示__时,它仅闪烁一次。
如何每秒提供一次闪烁?
答案 0 :(得分:1)
以下代码应使LCD每秒闪烁一次。可以通过更改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(" ");
}
}