在对arduino有一个基本了解之后,就需要在windows上安装编译环境,也就是IDE了,可以直接在arduino官网下载程序。网上教程也比较多,这里就不赘述了。
arduino使用C/C++语言编写程序,虽然C++兼容C语言,但是这两种语言又有所区别。
C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。
早期的arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的arduino核心库采用C与C++混合编程。
通常所说的arduino语言,是指arduino核心库文件提供的各种应用程序编程接口(API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。
目录
(一)标识符
标识符用来标识源程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变量、常量和数组等。
- C语言规定一个标识符由字母、数字和下画线组成,第一个字符必须是字符或下划线。
- 通常以下划线开头的标识符是系统专用的,所以在编写C语言程序时,最好不要使用以下划线开头的标识符,但是下划线可以用在第一个字符以后的任何位置。
- 标识符的长度不要超过32个字符,尽管C语言规定标识符长度最大可达255个字符,但是在实际编译时,只有前面32个字符能够被正确识别。对于一般的应用程序来说,32个字符的标示符长度就足够用了。
- C语言区分大小写。
- C语言程序中的标识符命名应该做到简洁明了、含义清晰,这便于程序的阅读和维护。例如,在比较最大值时,最好使用max来定义该标识符。
(二)关键字
在C语言编程中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字。
C语言的关键字共有32个,根据关键字的作用,可将其分为数据类型关键字、控制语句关键字、存储类型关键字和其他关键字四类。
1)数据类型关键字12个
关键字 | 含义 |
char | 声明字符型变量或函数,其占用1字节的内存空间,包含256个不同的整数,数值范围是-128~+128。在存储字符时,字符需要用单引号引用。例如“char col = ‘c’;”。 字符都是以数字形式存储在char变量中的。 |
short | 表示短整型数据,一般占2个字节(16个二进制位)。有符号的范围:-32768 ~ 32767。无符号的范围0到65535。 |
int | 表示基本整型数据,一般占4个字节(32个二进制位)。有符号的范围:-2147483648 ~ 2147483647。无符号的范围:0 ~ 4294967295。 |
long | 表示长整型数据,一般占4个字节(32个二进制位)。有符号的范围:-2147483648 ~ 2147483647。无符号的范围:0 ~ 4294967295。 |
float | 表示单精度浮点型数据,一般占4个字节(32个二进制位,1bit(符号位) 8bits(指数位) 23bits(尾数位))。范围:-3.40E+38 ~ +3.40E+38 。精度:6 ~ 7位有效数字。 |
double | 表示双精度浮点型数据,一般占8个字节(64个二进制位,1bit(符号位) 11bits(指数位) 52bits(尾数位))。范围:-1.79E+308 ~ +1.79E+308。精度:15 ~ 16位有效数字。 |
unsigned | 表示无符号数据。 |
signed | 表示有符号数据,默认不用写。 |
union | 表示共用体(也叫联合)类型数据,共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值(以包含数据类型中占最大字节为该共用体所占的字节),已达到节省空间的目的(还有一个节省空间的类型:位域)。 |
enum | 表示枚举类型数据,提供了一组常量的集合,枚举元素本身由系统定义了一个表示序号的数值,如果没有初始化则从0开始顺序定义为0,1,2 …。 |
struct | 表示结构体类型数据,是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 |
void | 表示无类型数据。 |
2)控制语句关键字12个
语句类型 | 关键字 | 含义 |
循环语句 | for | 一种循环语句 |
do | 循环语句的循环体 | |
while | 循环语句的循环条件 | |
break | 跳出当前循环 | |
continue | 结束当前循环, | |
条件语句 | if | 条件语句 |
else | 条件语句否定分支(与if语句连用) | |
goto | 无条件跳转语句 | |
开关语句 | switch | 用于开关语句 |
case | 开关语句分支 | |
default | 开关语句中的“其他”分支 | |
返回语句 | return | 子程序返回语句(可以带参数,也可以不带参数) |
3)存储类型关键字4个
关键字 | 含义 |
auto | 声明自动变量,一般不使用 |
extern | 声明变量是在其他文件中声明(也可以看为引用变量) |
register | 声明寄存器变量 |
static | 声明静态变量 |
4)其他关键字4个
关键字 | 含义 |
const | 声明只读变量 |
sizeof | 计算数据类型长度 |
typedef | 用以给数据类型取别名 |
volatile | 说明变量在程序执行中可被隐含地改变 |