付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章Arduino语言Arduino程序结构你可以在文件菜单>示例>01.Basics>BareMinimum中看到Arduino程序的基本结构:voidsetup(){//在这里填写你的setup代码,它只会运行一次:}voidloop(){//在这里填写你的loop代码,它会不断重复运行:}setup()Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,该部分只会执行一次。通常我们会在setup()函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。loop()在setup()函数中的程序执行完后,Arduino会接着执行loop()函数中的程序。而loop()函数是一个死循环,其中的程序会不断的重复运行。通常我们会在loop()函数中完成程序的主要功能,如驱动各种模块,采集数据等。Arduino程序基本结构由setup()和loop()两个函数组成:setup()Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,该部分只会执行一次。通常我们会在setup()函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。
loop()在setup()函数中的程序执行完后,Arduino会接着执行loop()函数中的程序。而loop()函数是一个死循环,其中的程序会不断的重复运行。通常我们会在loop()函数中完成程序的主要功能,如驱动各种模块,采集数据等。C\C++语言基础C\C++语言是国际上广泛流行的计算机高级语言。绝大多数硬件开发,均使用C/C++语言,Arduino也不例外。使用Arduino,需要有一定的C\C++基础,由于篇幅有限,在此仅对C\C++语言基础进行简单的介绍。此后章节中我们还会穿插介绍一些特殊用法。数据类型常量在程序运行过程中,其值不能改变的量,称为常量。常量可以是字符,也可以是数字,通常我们使用#define常量名常量值的方式定义常量。如在Arduino核心库中已定义的常量PI,即是使用#definePI3.4626433832795定义的。变量在程序中可变的值称为变量。其定义方法如下类型变量名;例如,定义一个整型变量i:inti;我们可以在变量定义时为其赋值,也可以定义后,对其赋值,例如:inti;i=95;和inti=95;两者是等效的。l整型整型即整数类型。Arduino可使用的整型类型及取值范围如下整型与取值范围类型取值范围说明int–32,76832,767(––1)整型unsignedint065,535(0–1)无符号整型long–2,147,483,6482,147,483,647(––1)长整型unsignedlong04,294,967,295(0–1)无符号长整型short–32,76832,767(––1)短整型在ArduinoDue中int型及unsignedint型占用4个字节(32位)。l浮点型浮点数其实就是我们平常所说的实数。在Arduino中有float和double两种浮点类型,但在使用AVR做控制核心的Arduino(UNO、MEGA等)上两者的精度是一样的,都占用4个字节(32位)内存空间。在ArduinoDue中,double类型占用8个字节(64位)内存空间。浮点型数据的运算,较慢且有一定误差。通常我们会把浮点型转换为整型来处理相关运算。如9.8cm,我们通常把换算为98mm来计算。l字符型字符型,即char类型,其占用一个字节的内存空间,主要用于存储字符变量。存储字符时,字符需要用单引号引用,如charcol=’C’;字符都是以数字形式储存在char类型变量中的,数字与字符的对应关系,请参照附录中ASCII码表。l布尔型布尔型变量,即boolean。它的值只有两个:false(假)和true(真)。boolean会占用1个字节的内存空间。运算符C\C++语言中有多种类型的运算符运算符类型运算符说明算术运算符=赋值+加-减*乘/除%取模比较运算符==等于!=不等于<小于>大于<=小于或等于>=大于或等于逻辑运算符&&逻辑与运算||逻辑或运算!逻辑非运算复合运算++自加--自减+=复合加-=复合减数组数组是由一组相同数据类型的数据构成的集合。数组概念的引入,使得在处理多个相同类型的数据时,程序更加清晰和简洁。其定义方式如下:数据类型数组名称[数组元素个数];
如,定义一个有5个int型元素的数组:inta[5];
如果要访问一个数组中的某一元素,需要使用数组名称[下标]
需要注意的是数组下标是从0开始编号的。如,将数组a中的第1个元素赋值为1:a[0]=1;
你可以使用以上方法对数组赋值,也可以在数组定义时,对数组进行赋值。如:inta[5]={1,2,3,4,5};和inta[5];a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;是等效的。字符串字符串的定义方式有两种,一种是以字符型数组方式定义,另一种是使用String类型定义。
char字符串名称[字符个数];使用字符型数组的方式定义,使用方法和数组一致,有多少个字符便占用多少个字节的存储空间。
大多数情况下,我们使用String类型来定义字符串,该类型中提供一些操作字符串的成员函数,使得字符串使用起来更为灵活。String字符串名称;如Stringabc;即可定义一个名为abc的字符串。你可以在定义时为其赋值,或在定义以后为其赋值,如Stringabc;abc=“Arduino”;和Stringabc=“Arduino”;是等效的。
相较于数组形式的定义方法,使用String类型定义字符串会占用更多的存储空间。注释/*与*/之间的内容,及//之后的内容均为程序注释,使用它可以更好的管理代码。注释不会被编译到程序中,不影响程序的运行。
为程序添加注释的方法有两种:单行注释://注释内容
多行注释:/*注释内容1注释内容2……*/用流程图来表示你的程序流程图是用一些图框来表示各种操作。用图形表示算法,直观形象,易于理解。特别是对于初学者来,使用流程图能帮你更好的理清思路,从而顺利编写出相应的程序。ANSI规定了一些常用的流程图符号,如图所示:顺序结构顺序结构是三种基本结构之一,也是最基本、最简单的程序组织结构。在顺序结构中程序按语句先后顺序依次执行。一个程序或者一个函数,整体上是一个顺序结构,它是由一系列的语句或者控制结构组成,这些语句与结构都按先后顺序运行。如图所示,虚线框内是一个顺序结构,其中A、B两个框是顺序执行的。即:在执行完A框中的操作后,接着会执行B框中的操作。选择结构选择结构又称选取结构或分支结构。在编程中,我们经常需要根据当前数据做出判断,决定下一步的操作。例如,Arduino可以通过气体传感器检测出室内煤气浓度,我们需要在程序中对煤气浓度做出判断,如果煤气浓度过高,就要发出警报信号,这时便会用到选择结构。如图所示,虚线框中是一个选择结构。该结构中包含一个判断框。根据判断框中的条件p是否成立,而选择执行A框或者B框。执行完A框或者B框操作后,都会经过b点,脱离该选择结构。循环结构循环结构又称重复结构,即反复执行某一部分的操作。有两类循
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《人工智能技术与应用》 教案 第2章 AI如何学习-从基础模式到强大引擎
- 语文新章节程改革新章节程新理念新教师新教法
- 结缔组织病相关肺动脉高压的治疗
- 数控机床的控制原
- 人教版初中英语七年级上册第11单元单词记忆练习题及答案
- 2026年湖南省物理因子治疗技术操作流程模拟测试卷及答案
- 苏教版初中生物八年级上册第8单元生物进化练习题及答案
- 2026秋小学苏教版科学二年级上册第四单元学情测试练习卷及答案三套
- 热情欢迎同学们学习建筑材料课程
- 焊接代号表示方法
- 2026春季江铜宏源铜业有限公司校园招聘6人笔试历年参考题库附带答案详解
- 知识清单-2026-2027学年统编版道德与法治九年级上册
- 认知障碍疾病基因诊断策略中国专家共识(2025版)
- 股票打新咨询服务合同
- 儿童疼痛管理及护理措施
- 医疗设备全生命周期管理与维护制度
- 2026年标准版离婚协议书(完整版范本)
- 纪委监委办案安全责任书
- GB 12801-2025生产过程安全基本要求
- 酒店数字化运营概论 课件
- 生命统计考试试题及答案
评论
0/150
提交评论