📜  Arduino for Loop

📅  最后修改于: 2020-12-27 09:38:09             🧑  作者: Mango

Arduino for循环

for循环下大括号内的语句根据指定条件重复执行。 for循环中的递增计数器用于递增或递减循环重复次数。

for语句通常用于重复性的任务或操作,或者用于与数组结合使用的一组数据/引脚。

语法为:

for (initialization; condition; increment)
{
\\ statements
}

哪里,

  • 初始化:定义为变量的初始化。
  • condition :条件在每次执行时都进行测试。如果条件为true ,它将执行给定的任务。仅当条件变为false时,循环才会结束。
  • 增量:它包括增量运算符,例如i + +,i–,i +1等。它每次都递增,直到条件成立。

例如,

for ( i = 0 ; i < 5 ; i + +)

上面的语句将执行循环五次。 i的值将从0到4。

如果声明是:

for ( i = 0 ; i < = 5 ; i + +)

上面的语句将执行循环六次。 i的值将从0到5。

注意:如果我们不想一次又一次地执行for循环。然后,我们可以将for循环插入void setup()函数。

范例1:

要print一条消息“ Arduino” 15次。
使用Serial.println()将消息print15次或更多次是非常复杂的,因为代码太长了。

为了克服这个问题,程序员更喜欢使用for循环在使用单个语句的同时多次执行任务。

让我们考虑下面的代码。

int i;
void setup ( )
{
  Serial.begin(9600);
  for ( i = 0 ; i < 15 ; i ++ )
  {
   Serial.println( "Arduino");
  }
}
void loop ( ) {
}

输出:

范例2:

使用乘法增量

for循环中的乘法增量将生成对数级数。

考虑下面的代码:

int x;
void setup ( )
{
  Serial.begin(9600);
  for (x = 2; x < 100; x = x * 2) 
  {
  Serial.println(x);
  }
}
void loop ( ) {
}

输出:

我们也可以直接在for循环中声明int数据类型。

例如,

for (int x = 2; x < 100; x = x * 2) 

示例3:使LED褪色

在这里,淡入淡出和LED表示LED将缓慢熄灭。

考虑下面的代码:

const int pinPWM = 11; // here, we have initialized the PWM pin.
void setup ( )
{
  Serial.begin(9600);
}
void loop ( )
 {
  int x = 1;
  for (int i = 0; i > -1; i = i + x)
 {
    analogWrite(pinPWM, i);
    if (i == 255)
 {
      x = -1;  // It will switch the direction at peak
    }
    delay(10); // It is delay time of 10 milliseconds
    // the lesser the time, the more fading effect can be seen clearly
  }
}

对于连接,我们将LED的正极与电阻串联到PIN 11(PWM引脚),LED的负极与GND串联。

注意:C++编程语言中的for循环比其他类型的编程语言灵活得多。

范例4:

考虑下面的代码:

void setup ( )
{
  int i;
  Serial.begin(9600);
  for (i = 0; i < 4; i = i + 1)
  {
    Serial.println( "Hello Arduino" );
  }
  Serial.println( " DONE");
}
void loop ( ) 
{ 
}

上面的代码将print“ Hello Arduino”四次。在条件变为假之后,控制退出循环,并打印“ DONE”。

输出:

同样,我们可以相应地使用for循环创建任何程序。