代码的第一部分与项目(LED闪灯器--硬件回顾)完全一样,这次语句包含三个独立的代码段。
第一个代码段是输出三个点:
for (int x=0; x<3; x++) { digitalWrite(ledPin, HIGH); delay (150); digitalWrite (ledPin, LOW); delay (100);
}
可以看到LED开150毫秒之后关闭100毫秒。这些语句是括在一对花括号内的,因此是一段独立的代码段。但是,当程序运行时,可以看到灯闪了3次而不是只闪1次。
产生这样的结果是因为使用了fpr循环:
for (int x=0; x<3; x++) {
这个语句使代码段中的代码执行3次。这里需要传递三个参数给for循环,它们是初始化变量,条件和增量。
首先要初始化一个变量,作为循环开始的计数。在这个例子里,我们设置变量为整型的x,并将它的初始值化为0:
int x=0;
然后,设置一个条件来决定在循环中的代码要循环多少次:
x<3;
在这里,如果x小于(<)3,代码讲循环,用于比较两个值。程序中可能用到的比较操作符有:

最后的语句是
x++
表示把x的值增加1,也可写为x=x+1,这意味着把x+1的值赋给x注意for循环中最后的语句不需要加分号。
可以用符号+、-、×、÷(加、减、乘、除)做简单的数学计算。例如:

因此,将for循环初始化x的值设为0,运行代码块中的代码(花括号内),之后,变量递增(在这个例子里x+1)。在代码块的最后检查是否符合条件,条件是x小于3。只要循环的条件满足,循环会不断重复。
要注意x是一个局部变量,这意味着它只能被它自己所在的代码段所识别。除非在setup()函数之前初始化它,在这种情况下,它是一个全局变量,全局可见。在这里,如果你试图在for循环外使用x,你将得到一个编译器给你的错误提示。
在每一个for循环之间是一小段延时,使S.O.S字母之间产生一个可见的暂停。最后,在主程序loop重新执行一遍之前,代码等候5秒。
网友评论