1、工具软件
1.1. 官方集成开发环境—Arduino IDE
Arduino IDE是官方提供的一个集成开发环境,可以支持Windows、Linux以及Mac Os三种操作系统。目前的稳定版本为Arduino IDE 1.8.13,从官网中也可以获取到2.0版本及其开源的GitHub源代码。在Windows操作系统中,Arduino IDE不需要安装,在官网中下载解压后即可运行arduino.exe程序,图1为Arduino 1.8.9在win 10环境中的解压以及运行情况。
图1

上图中drivers文件夹放置的是系统相关的驱动文件;examples文件夹中是Arduino的几个简单示例程序可直接烧录至对应的开发板中;hardware文件夹是底层硬件相关的程序,基于AVR平台;java和lib是IDE主体和界面相关的程序件;libraries文件中是Arduino的库文件,包含自带的库文件和用户添加的外部库文件,该文件夹在后期的学习中会经常被使用。

图2

上图是arduino.exe打开后的界面,顶部是软件的导航栏,在这里可以新建项目、打开已有的项目或示例文件、下载和导入外部库文件以及打开串口监视器等功能。Arduino IDE是最基本的Arduino开发环境,在其它IDE中编写程序时同样需要它的支持。

1.2. Window程序员利器—Microsoft Visual Studio
总所周知,Microsoft Visual Studio (VS)是Windows程序员必备的开发利器,是微软的开发工具包系列产品,其包含了UML工具、代码管控工具、集成开发工具等等。有关于VS的安装在此不做过多赘述,具体细节可以参考“安装教程”。在这里主要讲述一下在VS2017中启用Arduino IDE开发环境的功能。首先打开VS运行程序,在导航栏中点击工具选项在其子菜单中选择“扩展和更新”后回弹出如图A.2.1中的页面,依次点击联机在搜索框中输入“Arduino”,最后下载相应的扩展包完成安装。在安装过程中需要手动添加arduino的安装路径,将arduino.exe程序所在的路径正确添加即可,其中的文件夹最好不要出现中文名称。
图3

1.3. 万物皆可记事本
最后一个要介绍的就是电脑中最朴素、最基本的文本编辑器—记事本。通过对计算机基础的了解,可以知道任何IDE本质上都是一款文本编辑器,我们在其中编程实际上也就是写下一串一串的字符。然后通过编译器可以将各种程序语言翻译成机器所能识别的代码,从而交付给CPU执行命令。也就是说只要拥有了编译环境,在任意一款文本编辑器中我们都可以实现对程序的编写。以Windows系统中自带的记事本为例,新建一个test.txt文件,并在其中写下如下代码:
图4

然后将其后缀名“.txt”修改为Arduino通用的文件格式“.ino”,最后双击文件“test.ino”就会出现图A.3.2中的界面。又回到了熟悉的Arduino IDE界面,其中 setup()  loop() 是Arduino中最重要的两个函数。

图5

2、编程语言
Arduino语言是立足于C/C++的基础上的,是在AVR单片机的基础上将底层的操作设置进行了函数封装,因此不必深究底层器件的原理,就可以操作AVR单片机。

2.1. 基本特性
关键字: if、if else、for、switch case、while、do while、break、continue、return、goto
语法符号:;、{}、//、/**/
运算符:=、+、-、、/、%、==、!=、<=、>=、&&、||、!、++、–、+=、-=、=、/=、
数据类型:boolean、char、byte、int、unsigned int、long、unsigned long、float、double、string、array、void
数据类型转换:chat()、byte()、int()、long()、float()
常量:HIGH(高电平)、LOW(低电平)、INPUT、OUTPUT、true、false
可以看出在基本特性方面,Arduino语言的关键字和符号与C语言基本一致,因此熟悉C语言是操作硬件的基本功。

2.2. 库文件
在Arduino中有两种库:标准库以及第三方库。库其实就是一堆封装完成的函数的集合,通常一种库包含着一种事物的各种操作功能,这些功能是通用的因此在制定好的底层电路连接下,调用这些函数都能正确的执行功能。对于官方的标准库文件,在图1中的libraries文件夹下就可查看到,其中包含了表中的功能库。

 
标准库实现了Arduino中常用的一些功能函数,仅通过简单的调用便可操作硬件。当这些标准库无法满足我们的需要时,第三方库的出现就解决了大部分问题。第三方库是一个众多Arduino开发者共同维护的开源项目,通过将一些硬件的操作和算法封装成模块化的函数,在Arduino中加载了对应的库后便不需要我们进行重复的造车轮工作了。下表中是一些常用的第三方库文件,对于第三方库文件的加载只需要将其解压至libraries文件夹下,最后重新启动arduino.exe即可。


2.3. 基本函数
从之前的小节可以了解到setup()和loop()是Arduino中最基本的两个函数,其中setup()函数在程序开始时用于初始化变量、设置接口模式以及启用库等操作;loop()函数使用在初始化之后内部的程序会循环的被执行,相当于while(1)。此外在Arduino中的最常用的也是最基本的函数在下表中给出,掌握了这些函数就能很快地使用Arduino系列的单片机。



3、资源链接
Arduino IDE: https://www.arduino.cc/en/Main/Software
VS2017: https://visualstudio.microsoft.com/zh-hans/downloads/