借助实例解释Arduino中的while循环

1,068 阅读5分钟

在Arduino编程中,很多时候我们不得不写一段代码,其中需要重复循环执行代码,为了执行它,我们使用条件循环,而 "while循环 "就是条件循环之一。在这篇文章中,我们将了解什么是while循环以及它在Arduino编程中是如何工作的。

什么是while循环

循环在任何情况下都是非常方便的,特别是当我们想根据某些条件重复相同的过程时。为了理解while循环的用法,假设我们有一个用户,他有30个项目的组件,我们要求用户在每分钟后输入组件的名称,直到30分钟。如果我们在写代码时,每隔1分钟就要求用户输入组件,然后打印出来,1分钟后再要求用户输入,直到30分钟,这将消耗大量的时间,代码也会变得庞大,降低代码的效率。

这可以通过使用while循环来简化,我们可以在while循环中设置时间小于30分钟的条件,并要求用户在每分钟后输入一个组件。这将是一个大约5-6行的代码,也能达到目的。

同样,它也可以用在Arduino编程中。首先,我们将讨论在Arduino编程中使用while循环的一般语法。

在Arduino中使用 "while循环 "的语法

使用 "while 循环 "的一般语法是:

while (condition)  
{  
//code or set of statements  
}

对上述语法的解释是非常容易理解的。

  • 在圆括号"() "中写入任何条件,并加上 "while "关键字,直到该条件为真,系统将执行写在while循环主体中的代码。
  • 如果该条件为假,系统将退出while循环的主体。

Arduino中的while循环的流程图是什么?

要理解任何事物的使用概念,最方便的方法是通过视觉解释。为了直观的理解Arduino中的 "while循环",请考虑流程图。

当while循环被执行时,编译器将初始化while循环并检查条件。如果条件为真,编译器将执行while循环主体的代码,如果条件为假,它将跳过while循环主体的执行,编译器将执行while循环外的下一个语句。

什么是Arduino编程结构

在进入例子之前,首先要对Arduino编程结构有一点了解。在Arduino编程中,我们在程序结构中有两个主要部分。

void setup()。void setup函数只运行一次,因为它是程序的开始。你可以声明不同的变量,并从用户那里获得不同的输入。例如,打开一个电路,这将只发生一次。

void loop()。在这个函数中,代码无限地运行,比如我们想在无限的时间段内运行LED,我们可以使用void loop()

现在,我们将考虑Arduino中while循环的一些例子,这将有助于我们理解while循环的用法。

例1:考虑以下代码

int i=1;  
void setup()  
{  
  Serial.begin(9600);  
while(i<=10)  
{  
  Serial.println("Welcome to LinuxHint");  
  i=i+1;  
}  
}  
  void loop()  
  {  
  }

**解释一下。**上面的代码很简单,它在串行监视器的输出中显示了10次 "Welcome to LinuxHint"。这段代码的解释是。

  • 我们声明了一个变量 "i",并在其中存储了 "1"。
  • 对于串行通信,波特率为9600,我们使用 "Serial.begin(9600) "函数
  • 使用一般语法中讨论的while循环,并设定条件执行循环,直到 "i "的值等于或小于10。
  • 由于我们使用Arduino连接到计算机,我们将使用串行通信来打印 "Welcome to LinuxHint"
  • 在最后一条语句中,我们将 "i "的值递增1。

为了显示输出,我们将验证、上传,然后在串行通信的帮助下运行该代码。

在上面的输出中,我们可以看到 "Welcome to LinuxHint "被打印在串行监控器的输出上六次,因为当 "i "的值被递增到7时,条件变成了假的,编译器脱离了这个循环。

例2:现在,考虑一下下面的代码。

int i=0;  
void setup()  
{  
  Serial.begin(9600);  
while(i<100)  
{  
  i++;
}  
  Serial.println("The number of iterations is ");
  Serial.println(i);  
}  
  void loop()  
  {}

**解释:**在这段代码中,我们显示的是迭代次数,对上述代码的解释是。

  • 我们声明了一个变量 "i",其值为0。
  • 我们使用串行通信将Arduino连接到计算机,并设置了波特率(9600)。
  • 在while循环的帮助下,我们通过设置 "i<100 "的条件,将 "i "的值增加到迭代的数量。
  • 在while循环之外,再次使用串行通信,我们在串行监视器输出上显示 "i "的值。

我们将验证并运行该代码。

在上面的输出中,已经显示了迭代的值,是100。

总结

Arduino中的while循环可以用于有限循环和无限循环,当我们需要重复运行语句时,也可以使用它。在这篇文章中,我们已经解释了while循环和使用它的一般语法。我们还讨论了while循环的工作流程图,作为一个视觉演示,它很容易理解。然后,我们讨论了一些基本的while循环的例子,以便更好地理解。