Arduino的程序语言类似于C/C++的语法,随着IDE的更新,包含了许多基本常用的函数库,可以在“Sketch—Import Library”里看到,如EEPROM、网络信(Ethernet)、舵机控制(Servo)、步进电动机控制(Stepper)等。
有了这些函数库,可以省下大量时间,只要了解函数的应用及参数的设定后,很快可以写出想要的功能出来。
由于Arduino开发环境的语言是比较接近C/C ++的,甚至加入关了些JAVA的用法,所以在程序架构、循环及函数方面若有不甚了解的地方,都可以在网络或是书本上找到介绍或范例,本书就不赘述了。以下只列了可接受的数据类型与几种运算符,以及循环的基本范例供参考。
1.标识符
标识符用来标识源程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变量、常量等。一个标识符由字符串、数字和下画线等组成,第一个字符必须是字母或下画线,通常以下画线开头的标识符是编译系统专用的,因此在编写C语言源程序时一般不要使用以下画线开头的标识符,而将下画线用作分段符。
2.关键字
关键字是编程语言保留的特殊标识符,它们具有固定的名称和含义,ANSI C标准一共规定了32个关键字,见表1-3。
表1-3 ANSI C标准规定的32个关键字
(续表)
3.运算符
逻辑运算符通常用if语句判断,若运算符前后的两个变量或回传值皆为真,则运算的结果为真;在使用“║”运算符时,只要判断两个变量或回传值其中一个为真,则结果就会为真。见表1-4。简单的范例:
(5>0&&8>10)—True //前后两个运算皆为真,故结果为真
(5>0║8>10)—True //前后两个运算有一个为真,结果便为真
表1-4 逻辑运算符
通常用真值表来表示上述结果,表1-5列出了AND和OR的真值表。
表1-5 AND和OR的真值表
在真值表中,T表示真(True),F表示假(False)。以AND的运算为例,两者皆为T,结果才为T;在OR的情况下,两者有一个为T,结果就为T。一般程序当中,以True表示数字1,False表示数字0。
刚刚看到的逻辑运算符都是用2个重复的符号来表示的,如果不小心只打成一个的情况呢?这时的运算变成了位运算,必须从每个运算位中逢2进位,见表1-6。
表1-6 位运算符
位运算的结果不单为真或假(True或False),经过运算后会得到不同的结果,因此不要粗心地把逻辑运算符和位运算符搞混!后面有章节会需要相关运算,到时可以借程序进一步了解使用的方式及时机。
比较运算符多半用在数学运算上,这里就不多做介绍了,表1-7只列出常用的部分供参考,有兴趣的读者可以在程序中看到实际的应用。
表1-7 比较运算符
表1-8列出了C 语言常用的运算符。
表1-8 C语言常用的运算符
注意:sizeof是一种特殊的运算符,它不是一个函数。实际上,字节数的计算在编译时就完成了,不是在程序执行过程中才计算出来的。
4.分隔符
C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,用于分隔各个变量。空格多用于语句各单词之间作间隔符。在关键字、标识符之前必须要有一个以上的空格符作间隔。
5.常量
常量就是在程序运行过程中,其值不能改变的数据,有时候也可以用一些有意义的符号来代替常量的值,称为符号常量。符号常量在使用之前必须先定义,其一般形式如下:
#define 标识符 常量
6.注释符
C语言的注释符包括两种:
(1)以“/*”开头并以“*/”结尾的字符串。在“/*”与“*/”之间的内容即为注释。
(2)以“//”开关的后面的字符串。
程序在编译时,不对注释作任何处理。注释可出现在程序的任何位置。编程时添加适当的注释对于程序员读懂该程序非常有用。