想做一个特殊一点的电压表,因为测量需要,电压取10秒平均值,这个很好写了,没啥问题。可是每次启动的时候都有10秒钟屏幕上是空白(因为第一个10秒是在取数据),我就想第一次启动的时候让屏幕上显示一行“loading data”,没想到这个把我给难住了(尽情BS俺的小白吧。)
去掉电压取样等等大家都知道的部分,我的程序是这样写的:
=============================================
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int c = 0;
int first = 1;
void setup() {
lcd.begin(16, 2);
}
void loop() {
if (first = 1 )
{ first = 2;
lcd.setCursor(0, 0);
lcd.print("Loading Data....");
delay (1000);
c= c++;
}
if (c>0)
{c=1;
lcd.setCursor(0, 0);
lcd.print("Now dianya= ");
}
}
运行结果很让我郁闷,我的原意是让Loading Data.... 出现一次,出现一次以后变量 “first”就会=2 ,于是这行Loading Data....就不会再出现在屏幕上了;可是实际运行的时候,"Loading Data...." 和 ("Now dianya= ") 是不停的循环出现的,也就是说每次运行的时候 变量first 就被重置成了1 ;请问这个现象是如何发生的? 如果我不想让变量“first”被重置该如何写程序,拜谢。。。。
去掉电压取样等等大家都知道的部分,我的程序是这样写的:
=============================================
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int c = 0;
int first = 1;
void setup() {
lcd.begin(16, 2);
}
void loop() {
if (first = 1 )
{ first = 2;
lcd.setCursor(0, 0);
lcd.print("Loading Data....");
delay (1000);
c= c++;
}
if (c>0)
{c=1;
lcd.setCursor(0, 0);
lcd.print("Now dianya= ");
}
}
运行结果很让我郁闷,我的原意是让Loading Data.... 出现一次,出现一次以后变量 “first”就会=2 ,于是这行Loading Data....就不会再出现在屏幕上了;可是实际运行的时候,"Loading Data...." 和 ("Now dianya= ") 是不停的循环出现的,也就是说每次运行的时候 变量first 就被重置成了1 ;请问这个现象是如何发生的? 如果我不想让变量“first”被重置该如何写程序,拜谢。。。。


