📅  最后修改于: 2020-12-27 03:18:03             🧑  作者: Mango
变量定义为存储数据和值的位置。它由名称,值和类型组成。
变量可以属于任何数据类型,例如int,float,char等。请考虑url- Arduino数据类型以获取详细信息。
考虑以下示例:
int pin = 8;
在这里, int数据类型用于创建一个名为pin的变量,该变量存储值8 。这也意味着将值8初始化为变量pin 。
我们可以根据自己的选择修改变量的名称。例如,
上面的例子也可以写成:
int LEDpin = 8;
在这里,变量名是LEDpin 。
我们可以在程序或代码中进一步引用声明的变量。
例如,
pinMode(LEDpin, OUTPUT);
在这里,存储在声明的变量(LEDpin)中的(8)值将传递给pinMode()函数。
如果我们尚未声明变量,则该值也可以直接传递给该函数。
例如:
pinMode( 8, OUTPUT);
变量的优点如下所示:
可以使用赋值运算符(等于=符号)来更改变量的值。但是我们需要在分配值之前声明一个变量。
如果我们直接将值指定为:
pin = 7;
我们将收到一个错误,该错误尚未声明。
我们可以通过将变量的值复制到另一个变量来轻松地更改它们。
例如,
int LEDpin = 7;
int pin1 = LEDpin;
LEDpin = 13;
现在,LEDpin包含值13而不是7。但是,pin1的值仍为7。
让我们看一个例子。
考虑下面的代码。
void setup()
{
Serial.begin(9600);
int pinLED = 7;
Serial.println(pinLED); // value 7 will be printed
int pin1 = pinLED;
pinLED = 13;
Serial.println(pinLED); // value is now changed
// now, value 13 will be printed
}
void loop()
{
}
输出:
我们可以在输出中注意到LEDpin的值从7更改为13。类似地,我们可以更改变量的值。
这意味着可以以多种方式声明变量。
可以在Arduino中以两种方式声明变量,如下所示:
局部变量在函数中声明。变量仅在函数内具有作用域。这些变量只能由该函数的语句使用。
例如,
void setup()
{
Serial.begin(9600);
}
void loop()
{
int x = 3;
int b = 4;
int sum = 0;
sum = x + b;
Serial.println(sum);
}
可以在程序中的任何位置访问全局变量。全局变量在setup()和loop()函数外部声明。
例如,
考虑下面的代码。
int LEDpin = 8;
void setup()
{
pinMode(LEDpin, OUTPUT);
}
void loop()
{
digitalWrite(LEDpin, HIGH);
}
我们可以注意到,在loop()和setup()函数中都使用了LEDpin。
该值在两个函数中都使用,因此,在一个函数更改该值将反映在另一个函数中。例如,
int LEDpin = 8;
void setup()
{
LEDpin = 13;
pinMode(LEDpin, OUTPUT);
}
void loop()
{
digitalWrite(LEDpin, HIGH);
}
在这里,值13将传递给digitalWrite()函数。