[英]How blink single character without delay() method on LCD using Arduino?
所以,我想写一种方法,而不是在不使用延迟()方法的情况下,在特殊位置提供特殊值的 LCD 闪烁。 我写了下一个方法:
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
时它只闪烁一次,在其他情况下它显示 __ 。
我怎样才能每秒提供一次闪烁?
下面的代码应该让 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(" ");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.