Sketch 入门

在这个教学中,你将学习到草稿码各部分的运作方式。

草稿码

草稿码(sketch)是 Arduino 与 86Duino 用来称呼一支程式的方式,它是一个上传和运行在 Arduino、86Duino 板上的程式单元。

注解

Blink 草稿码的头几行是 注解

/*
 * Blink
 *
 * 这是基本的 Arduino 范例;开启 LED 灯一秒钟,
 * 然后关闭它一秒钟,如此反覆;在这个例子中我们使用 pin13,
 * 这取决于你的 Arduino 板,它是内建一个 LED 灯,或者是一个电阻
 * 如果是后者,则需要自行接上一颗 LED 灯。
 *
 * http://www.arduino.cc/en/Tutorial/Blink
 */

Arduino/86Duino 在运行草稿码时,在 /**/ 之间的每一行叙述都会被忽略 (每一行叙述前面都有一个 *,那只是为了美观,并不是必需的),对阅读草稿码的人来说,注解用来解释这个程式是做什么、是怎么做的、又或者是为何使用这种方法。修改程式码后立即加上注解是一个良好的习惯,好的注解可以帮助你花较少的时间了解程式码的用意,也可以让其他人学习或修改你的程式码。

另一种简洁的注解方式,以 // 开头并且注解一整行;例如:

   int ledPin = 13; // LED 连接到数位 pin13

以上的 LED 连接到数位 pin13 这行讯息就是注解

变数

变数 是用来储存数据的地方。它有名字、型态、数值。Blink 草稿码中有一行宣告变数名为 ledPin、型态是 int、初始数值是 13。它用来指示 Arduino / 86Duino 哪一个脚位与 LED 灯相连,在草稿码中每写一次 ledPin,它的值就会被取出来使用。事实上在这个例子中,不一定要创建一个名为 ledPin 的变数,可以直接写 13 去指定要使用的脚位。但使用变数的好处是,当你的草稿码中很多地方使用到 ledPin 的时候,只需要在变数初始化时指派一次新值给 ledPin,就可以快速的把 LED 切换到其他的 pin 脚。

然而,变数值通常在程式码运行过程中是会被改变的。举个例子,你可以将读取到的值储存在变数中,更多的资讯可以在 变数 教学手册中找到。

函式

函式 (又称作 程序副程式) 是程式码的片段,可以在草稿码中使用。例如,Blink 范例中有一个已被定义好的 setup() 函式:

void setup()
{
  pinMode(ledPin, OUTPUT);      // 设定数位脚位为输出
}

第一行提供了函式的资讯,像是名称 ”setup”,在它前后的文字表示它的回传资料型态及参数:这个后面会解释,在 {} 之间的程式码就是函式的主体:函式在做什么。

可以 呼叫 已经被定义好的函式 (不论是在草稿码中自行定义的函式或者是在 86Duino 语言 中定义的函式);举个例子,pinMode(ledPin, OUTPUT); 这行呼叫 pinMode() 函式,传给它两个参数:ledPinOUTPUT,这些参数在 pinMode() 函式中是用来设定哪一个脚位还有模式。

pinMode(), digitalWrite() 和 delay()

pinMode() 函式将一个脚位设定为输入或输出,使用它可以传进一个数字去指定要使用哪一个脚位,还有变数 INPUTOUTPUT 可以设定脚位模式;当设定为输入时,脚位可以侦测感测器的状态,像是按下按钮 (参考 Arduino 教学手册);如果设定为输出,它可以驱动致动器,像是 LED 灯。

digitalWrite() 函式会从一个指定脚位输出数值;举个例子:

   digitalWrite(ledPin, HIGH);

ledPin (pin13) 设定成 HIGH (输出 3.3 伏特),或设定 LOW 接地 (输出 0 伏特)。

delay() 会使 86Duino 在执行下一行程式码之前,等待一段以毫秒为单位的指定时间;1000 毫秒等于 1 秒钟,看下面这行:

   delay(1000);

这是建立一个一秒钟的延迟。

setup() 和 loop()

有两个特别的函式是每个 86Duino 草稿码都会具备的:setup()loop()setup() 函式在草稿码开始执行时会被呼叫一次,里面适合执行设定或初始化的任务,像是设定脚位模式或初始化类别,loop() 函式是整个程式码的核心,会一次又一次的被呼叫;你的程式码需要包含这两个函式,不管需不需要用到它们的功能。

See also

setup()
loop()
pinMode()
digitalWrite()
delay()


语法参考主页面

本页由热血青年 LBU 译自英文版。

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.