请问如何可以做到LCD 的字符能闪动?
我的程序里有按钮控制,不能用delay,我之前试过用这样的方法去做。
lcd.setCursor(0,1);
lcd.print ("number");
delay(500);
lcd.setCursor(0,1);
lcd.print("");
delay(500);
但这样做会影响按钮
其实闪屏很快的话我们是很难看得到的,所以建议加一下延时会比较好一点! 但是我的程式碼裡面有if statement,這樣會影響按鈕的輸入。 tonify 发表于 2012-7-16 09:55 static/image/common/back.gif
但是我的程式碼裡面有if statement,這樣會影響按鈕的輸入。
你的代码用途是什么方面的?能详细点吗? //Begin of set time Menu
if(btn == 1){
set_hour_menu:
lcd.clear();
delay(200);
do{
btn = btn_selector();
lcd.setCursor(0,0);
lcd.print("Set Hour");
if (set_time_hour >= 10){
lcd.setCursor(0,1);
lcd.print (set_time_hour); <----閃這個
}else{
lcd.setCursor(0,1);
lcd.print ("0"); <---閃這個
lcd.setCursor(1,1);
lcd.print (set_time_hour);<---閃這個
}
lcd.setCursor(2,1);
lcd.print (":");
if (set_time_min >= 10){
lcd.setCursor(3,1);
lcd.print (set_time_min);
}else{
lcd.setCursor(3,1);
lcd.print ("0");
lcd.setCursor(4,1);
lcd.print (set_time_min);
}
lcd.setCursor(0,3);
lcd.print("+ - < >");
if(btn == 1){
set_time_hour = set_time_hour +1;
delay(200);
if (set_time_hour == 24){
set_time_hour = 0;
}
}
if(btn == 2){
set_time_hour = set_time_hour - 1;
delay(200);
if (set_time_hour == -1){
set_time_hour = 23;
}
}
if(btn == 3){
goto root_menu;
}
}while (btn != 4);
lcd.clear();
delay(200);
do{
btn = btn_selector();
lcd.setCursor(0,0);
lcd.print ("Set Minute");
if (set_time_hour >= 10){
lcd.setCursor(0,1);
lcd.print (set_time_hour);
}else{
lcd.setCursor(0,1);
lcd.print ("0");
lcd.setCursor(1,1);
lcd.print (set_time_hour);
}
lcd.setCursor(2,1);
lcd.print (":");
if (set_time_min >= 10){
lcd.setCursor(3,1);
lcd.print (set_time_min);
}else{
lcd.setCursor(3,1);
lcd.print ("0");
lcd.setCursor(4,1);
lcd.print (set_time_min);
}
lcd.setCursor(0,3);
lcd.print("+ - < >");
if(btn == 1){
set_time_min = set_time_min +1;
delay(200);
if (set_time_min == 60){
set_time_min = 0;
}
}
if(btn == 2){
set_time_min = set_time_min - 1;
delay(200);
if (set_time_min == -1){
set_time_min = 59;
}
}
if(btn == 3){
goto set_hour_menu;
}
}while(btn != 4);
RTC.adjust(DateTime(now.year(), now.month(),now.day() , set_time_hour,set_time_min ,now.second()));
}
//End of set time Menu 我是想當我通過LCD 和按鈕選擇小時的時候,小時的數字會閃,選擇分鐘的時候,分鐘會閃 tonify 发表于 2012-7-16 10:37 static/image/common/back.gif
我是想當我通過LCD 和按鈕選擇小時的時候,小時的數字會閃,選擇分鐘的時候,分鐘會閃
选择闪的说法,不就是你让字符刷新一下吗?可以这样理解?就是相当于给LCD屏清屏一下,然后再显示一下东西。你让字符在按键按下时闪一下,就是让字符先给清屏在显示,道理应该是这样子!你试一下,只是建议! 可以参考ide 的 example 中 的blink without delay
页:
[1]