机器人综合项目实践教程 课件 第3章 ArduinoC语言编程开发环境.pptx
第三章Arduino/C语言编程开发环境;
3.1Arduino/C语言基础;;
在C语言编程中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字。关键字已被编译系统本身使用,所以用户编写程序时不能够使用这些关键字来作为标识符。Arduino平台语言是建立在C/C++基础上的,其关键字和主要符号有以下几类:
(1)?类型说明符类。
(2)?语句定义符类。
(3)?预处理命令符类。
(4)?其他符号类。;
3.1.2ArduinoIDE
Arduino集成开发环境(ArduinoIDE)由工具栏、状态窗口以及串口监视器窗口共三部分组成,包含了一个用于写代码的文本编辑器、一个消息区、一个文本控制台以及一个带有常用功能按钮和文本菜单的工具栏。以Windows为例,其他操作系统上的软件安装都是如此,Arduino开源的IDE可以免费下载得到,其driver目录内有控制板usb芯片驱动程序,地址是http://arduino.cc/en/Main/Softwarearduino.exe。;
安装ArduinoIDE的基本步骤如下:
第一步:打开Arduino官网地址arudino.cc,点击图中画圈的地方;
第二步:在右侧蓝色方框内选择与自己电脑操作系统对应的安装包,Arduino软件(IDE)1.0版本之后保存文件的扩展名是.ino。;
3.2Arduino平台体系结构;
如图3.2(a)中的ArduinoYUN是以ArduinoLeonardo(ATmega32U4)为基础、内嵌独立的AtherosAR9331晶片无线路由处理器,组成了一个具有Wifi功能的微控制器,也是Arduino家族中首个WiFi系的成员,将嵌入式Linux装置、Arduino和WiFi传输器以及其他拓展板全部整合到一个开发板上。而图3.2(b)中ArduinoDUE采用32bitCortex-M3架构,时钟频率为84?MHz,替代了之前的8?bit16?MHz的ATmega328微控处理器,同时涵盖了一个USB2.0接口,能够连接鼠标、键盘、摄像头等USB产品。;
如图3.2(c)是ArduinoMEGA,是基于ATmega2560的Arduino开发板。它有54个数字输入/输出引脚(其中15个可用于PWM输出)、16个模拟输入引脚,4个UART接口,一个16MHz的晶体振荡器,一个USB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了微控制器所需的一切,用户只用简单地把它连接到计算机的USB接口???或者使用AC-DC适配器,或者用电池,就可以驱动它。图3.2(d)是ArduinoUNO,相较于ArduinoMEGA它提供了更少的I/O口。;;
图3.2(d)所示为ArduinoUNO开发板,采用了标准的两排插槽设计,上排插槽有16个端口,16个端口功能描述如表3.1所示。在编写的测试程序里,需将访问的数字信号端口进行定义。为了访问这些端口,可以直接将连接线插入对应的插槽。更方便的方式是使用跳线,这样实验完成后拆除起来也很容易。如表3.1中AREF端口是Referencevoltagefortheanaloginputs,模拟输入的基准电压,使用analogReference()命令调用。;;
图3.2(d)的ArduinoUNO控制板的下排插槽有13个端口,13个端口功能描述如表3.2所示,其中Vin端口是inputvoltage的缩写,表示有外部电源时的输入端口。;;
3.3Arduino/C语言的特点;
1.?基本函数
语句是编写程序时最基本的单位,函数就是一组这种基本单位的集合体。Arduino/C语言中的函数由返回值、函数名、参数和函数体组成。
如程序3.1给出了标准Arduino函数的代码架构,其调用相关函数体的语句的组成是,第一行调用库函数或变量赋值语句,第二行调用通信函数或子函数语句,或调用函数体内语句,第三行调用Arduino主函数。至此,完成了标准Arduino函数的代码编写。其内部调用延时函数delay(1000)代表延时1000毫秒。程序3.1为标准Arduino程序函数调用架构代码,实现已连接端口器件LED灯的亮度延时变化。;;
1)?loop函数
loop()函数是能够将一组编程指令程序代码进行重复运行的主体功能函数。一般地,loop()函数是在setup()函数初始化后进行调用的,即每一个ArduinoC程序都在初始化环节调用setup()函数完成之后,就可以自动调用loop()函数进入第二个环节,即输入环节。;
2)?se