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()
函式,传给它两个参数:ledPin
及 OUTPUT
,这些参数在 pinMode()
函式中是用来设定哪一个脚位还有模式。
pinMode(), digitalWrite() 和 delay()
pinMode()
函式将一个脚位设定为输入或输出,使用它可以传进一个数字去指定要使用哪一个脚位,还有变数 INPUT
或 OUTPUT
可以设定脚位模式;当设定为输入时,脚位可以侦测感测器的状态,像是按下按钮 (参考 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.