本节书摘来自异步社区《Arduino实战》一书中的第1章,第1.6节,作者 【美】Martin Evans , Joshua Noble , Jordan Hochenbaum ,译者 况琪,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.6 Arduino程序的结构
一个典型的Arduino程序由两个子程序组成:第一个是初始化子程序,称为setup,第二个子程序通常包括程序的主体,称为loop。下面我们来详细了解一下这两个子程序。
1.6.1 setup子程序
如果你打算出去跑步,在出门之前你得先做一些准备工作:穿上你的运动鞋,拿一瓶水,做一下伸展运动,……。对于Arduino,也是一样的道理。在正式开始工作之前,你需要先做一些准备工作。
这些准备工作在一个叫做setup的初始化子程序或者说是函数中完成(详见代码清单)。通常在setup函数中完成的工作是初始化数字引脚——将它们设置成输入或者输出——还有设置串口通信的波特率。
代码清单1-2 setup函数
代码清单1-2中的这段初始化代码将13号引脚设置为输出,并将串口通信的波特率设置为9 600。在setup前的void表示这个函数不会返回一个值。
即使你没有任何东西需要设置,你仍然需要输入这个函数,否则在程序校验或者烧写时就会报错。只要写一个这样包含注释的空函数就可以了:
下面我们来了解另外一个必须的函数,loop。
1.6.2 无限循环
当你去跑步的时候,你会不停地跑,直到完成为止(无论你如何定义完成)。Arduino跟这个过程是一样的,它也会不停地循环执行一个叫做loop的函数,直到满足一些条件,或者Arduino被断电时停止。下列代码清单展示了代码清单1-1实现的闪烁的LED应用中的loop函数。
代码清单1-3 一个闪烁的LED的示例程序
在这个程序中,Arduino反复执行这段程序,点亮LED一秒钟然后关闭一秒钟,不停地循环直到Arduino断电。
既然你已经了解写一个Arduino程序的基本知识,下面我们以一项重要的编程技巧来结束这一章。