八色木

Arduino -程序结构-系列1

从现在开始,我们将开展一些Arduino的知识学习,首先我们来研究Arduino的程序结构,通过本文的学习,可以了解更多Arduino世界中使用的新术语。记住我们的Arduino软件是开源的,Java environment的源代码遵循GPL,C/ C++微控制器库遵循LGPL。

Arduino 教程一 程序结构

Sketch — 第一个新术语是Arduino程序“sketch”。(多翻译为草图)

程序结构(Structure)

Arduino程序主要分为三个部分: 结构(Structure)、值(变量和常量)和函数。接下来我们将逐步通过使用Arduino IDE程序来了解如何编写没有语法或编译错误的程序。

我们首先从结构(Structure)开始。软件结构包括两个主要函数,当我们打开Arduino IDE程序,新建一个sketch时,窗口会默认给新sketch添加两个函数,分别为 setup() 和 loop() ,它们的具体功能如下:

Setup( )函数: setup()函数在sketch开始运行时调用,使用它可以完成初始化变量,pinMode设定,库文件引入等等操作。通常情况下,每次开机或复位Arduino开发板后,setup ( ) 函数只会运行一次。如:

void setup() 
{
  servo_test.attach(8);   // 舵机信号脚8
  pinMode(8, OUTPUT);
}

在setup()函数中设定舵机控制信号引脚为8,pinMode 8脚为输出引脚。源代码见:制作宠物自动喂食器

Loop( )函数:运行完setup()函数后,程序会循环运行 loop() 函数中的内容,Loop()函数可以设置初始值,它精确地连续循环执行既定操作,Loop里面的代码是控制Arduino板如何工作的精髓。如:

void loop() {
  // 在早上6点:
  servo_test.write(80);  //舵机旋转80度,打开出口
  delay(60000);          //出口的打开持续时间
  servo_test.write(0);   // 关闭 
  delay(25200000UL);     //7小时后再次打开出口
  //下午1点:
 servo_test.write(80);   //舵机旋转80度,打开出口 
  delay(60000);          //出口的打开持续时间
  servo_test.write(0);   // 关闭 
  delay(25200000UL);     //7小时后再次打开出口
 // 晚上8点:
  servo_test.write(80);  
  delay(60000);          
  servo_test.write(0);   
  delay(36000000UL);     //10小时后再次打开出口
   }

也就是说,整个代码中,我们可以将loop里面的内容理解为,loop是我们希望Arduino怎么反复去完成工作的具体标准和要求。

Arduino的主要程序结构就是这样,是不是很简单!下一章将介绍Arduino的数据类型。

Exit mobile version