📜  Arduino变量

📅  最后修改于: 2020-12-27 03:18:03             🧑  作者: Mango

Arduino变量

变量定义为存储数据和值的位置。它由名称,值和类型组成。

变量可以属于任何数据类型,例如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);

变量的优点

变量的优点如下所示:

  • 我们可以在程序中多次使用变量。
  • 变量可以表示整数,字符串,字符等。
  • 它增加了程序的灵活性。
  • 我们可以轻松地修改变量。例如,如果要将变量LEDpin的值从8更改为13,则需要更改代码中的唯一点。
  • 我们可以为变量指定任何名称。例如,greenpin,bluePIN,REDpin等。

我们如何在Arduino中更改变量的值?

可以使用赋值运算符(等于=符号)来更改变量的值。但是我们需要在分配值之前声明一个变量。

如果我们直接将值指定为:

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()函数。