Arduino 专题学习

S.O.S莫尔斯码信号源--代码回顾

2019-05-23  本文已影响5人  0134_朱雨萌

代码的第一部分与项目(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,代码讲循环,用于比较两个值。程序中可能用到的比较操作符有:

S.O.S莫尔斯码信号源--代码回顾

最后的语句是

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秒。

上一篇 下一篇

猜你喜欢

热点阅读