arduino语言.doc

上传人:飞****9 文档编号:137207689 上传时间:2020-07-06 格式:DOC 页数:17 大小:202.50KB
返回 下载 相关 举报
arduino语言.doc_第1页
第1页 / 共17页
arduino语言.doc_第2页
第2页 / 共17页
arduino语言.doc_第3页
第3页 / 共17页
arduino语言.doc_第4页
第4页 / 共17页
arduino语言.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《arduino语言.doc》由会员分享,可在线阅读,更多相关《arduino语言.doc(17页珍藏版)》请在金锄头文库上搜索。

1、Arduino语言Arduino语言是建立在C/C+基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。 在与Arduino DIYER接触的这段时间里,发现有些朋友对Arduino语言还是比较难入手,那么这里我就简单的注释一下Arduino语言(本人也是半罐子水,有错的地方还请各位指正)。基础C语言关键字:if.else 必须紧接着一个问题表示式(expression),若这个表示式为真,紧连着表示式后的代码就会被执行。若这个表示式为假,则执行紧接着el

2、se之后的代码. 只使用 if不搭配else是被允许的。范例:if (val = 1) digitalWrite(LED,HIGH);for 用来明定一段区域代码重复指行的次数。范例:for (int i = 0; i 10; i+) Serial.print(ciao);switch case if叙述是程序里的分叉路口,switch case 是更多选项的路口。Swith case 根据变量值让程序有更多的选择,比起一串冗长的if叙述,使用swith case可使程序代码看起来比较简洁。范例 :switch (sensorValue) case 23:digitalWrite(13,HIG

3、H);break;case 46:digitalWrite(12,HIGH);break;default: / 以上条件都不符合时,预设执行的动作digitalWrite(12,LOW);digitalWrite(13,LOW);while 当while之后的条件成立时,执行括号内的程序代码。范例 :/ 当sensor值小于512,闪烁LED灯sensorValue = analogRead(1);while (sensorValue 512) digitalWrite(13,HIGH);delay(100);digitalWrite(13,HIGH);delay(100);sensorVal

4、ue = analogRead(1);do. while 和while 相似,不同的是while前的那段程序代码会先被执行一次,不管特定的条件式为真或为假。因此若有一段程序代码至少需要被执行一次,就可以使用dowhile架构。范例 :do digitalWrite(13,HIGH);delay(100);digitalWrite(13,HIGH);delay(100);sensorValue = analogRead(1); while (sensorValue 512);break 让程序代码跳离循环,并继续执行这个循环之后的程序代码。此外,在break也用于分隔switch case 不同

5、的叙述。范例 :/当sensor值小于512,闪烁LED灯do / 按下按钮离开循环if (digitalRead(7) = HIGH)break;digitalWrite(13,HIGH);delay(100);digitalWrite(13,HIGH);delay(100);sensorValue = analogRead(1); while (sensorValue 512);continue 用于循环之内,它可以强制跳离接下来的程序,并直接执行下一个循环。范例 :for (light = 0; light 140) & (x 200)continue;analogWrite(PWMpi

6、n, light);delay(10);return 函数的结尾可以透过return回传一个数值。例如,有一个计算现在温度的函数叫 computeTemperature(),你想要回传现在的温度给temperature变量,你可以这样写:int temperature = computeTemperature();int computeTemperature() int temperature = 0;temperature = (analogRead(0) + 45) / 100;return temperature;goto 语法符号:; (分号)Arduino 语言每一行程序都是以分号为

7、结尾。这样的语法让你可以自由地安排代码,你可以将两个指令放置在同一行,只要中间用分号隔开。 (但这样做可能降低程式的可读性。)范例:delay(100); (大括号)大括号用来将程式代码分成一个又一个的区块,如以下范例所示,在loop()函数的前、后,必须用大括号括起来。范例:void loop()Serial.pritln(cial);程式的注释就是对代码的解释和说明,编写注释有助于程式设计师(或其他人)了解代码的功能。Arduino处理器在对程式码进行编译时会忽略注释的部份。Arduino 语言中的编写注释有两种方式/单行注释:这整行的文字会被处理器忽略/*多行注释:在这个范围内你可以写一

8、整首诗*/运算符:= + 相加- 相减* 相乘/ 相除% 余数除法= 等于!=不等于 大于= 大于等于& 交集| 联集! 反相+ 累加- 递减+= -= *= /= 数据类型: boolean 布林布尔变数的值只能为真(true)或是假(false)char 字符单一字符例如 A,和一般的计算机做法一样Arduino 将字符储存成一个数字,即使你看到的明明就是一个文字。用数字表示一个字符时,它的值有效范围为 -128 到127。注意:有两种主流的计算机编码系统ASCII 和UNICODE。ASCII 表示了127个字符, 用来在序列终端机和分时计算器之间传输文字。UNICODE可表示的字符量比

9、较多,在现代计算机操作系统内它可以用来表示多国语言。在位数需求较少的信息传输时,例如意大利文或英文这类由拉丁文,阿拉伯数字和一般常见符号构成的语言,ASCII仍是目前主要用来交换信息的编码法。byte 字节类型储存的数值范围为0到255。如同字符一样字节型态的变量只需要用一个字节(8位)的内存空间储存。int 整数整数数据型态用到2字节的内存空间,可表示的整数范围为 32,768 到 32,767; 整数变量是Arduino内最常用到的数据型态。unsigned int 无符号整数(绝对值)无号整数同样利用2字节的内存空间,无号意谓着它不能储存负的数值,因此无号整数可表示的整数范围为0 到 6

10、5,535。long 长整数长整数利用到的内存大小是整数的两倍,因此它可表示的整数范围从 2,147,483,648 到 2,147,483,647。unsigned long 无符号长整数无号长整数可表示的整数范围为0 到 4,294,967,295。float 浮点数浮点数就是用来表达有小数点的数值,每个浮点数会用掉四字节的RAM,注意芯片内存空间的限制,谨慎的使用浮点数double 双字节浮点也叫双精度浮点数,可表达最大值为 1.7976931348623157 x 10308。string 字符串字符串用来表达文字信息,它是由多个ASCII字符组成(你可以透过序串端口发送一个文字讯息或

11、者将之显示在液晶显示器上)。字符串中的每一个字符都用一个组元组空间储存,并且在字符串的最尾端加上一个空字符以提示Ardunio处理器字符串的结束。下面两种宣告方式是相同的。例如:char string1 = Arduino;/7字符+1空字符char string28 = Arduino; / 与上行相同array 数组一串变量可以透过索引去直接取得。假如你想要储存不同程度的LED亮度时,你可以宣告六个变量light01,light02,light03,light04,light05,light06,但其实你有更好的选择,例如宣告一个整数数组变量如下:int light6 = 0 , 20 ,

12、 50 , 75 , 100array 这个字为没有直接用在变量宣告,而是和宣告数组。控制指令数据类型转换:char() byte() int() long() float() 常量:在Arduino语言中事先定义了一些具特殊用途的保留字。HIGH | LOW 表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。 HIGH 和LOW 也用来表示你开启或是关闭了一个Arduino的脚位(pin)INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR能提供5V电压 40mA电流)。true | false true

13、 表示真(1),false表示假(0)。变数:变量用来指定Arduino 内存中的一个位置,变量可以用来储存数据,程序人员可以透过脚本代码去不限次数的操作变数的值。因为Arduino 是一个非常简易的微处理器,但你要宣告一个变量时必须先定义他的数据型态,好让微处理器知道准备多大的空间以储存这个变量值。 以上为基础c语言的关键字和符号,有c语言基础的都应该了解其含义,这里也不作过多的解释。Arduino 语言结构1、声明变量及接口名称(int val;int ledPin=13;)。2、void setup()在程序开始时使用,在这个函数范围内放置初始化Arduino 板子的程式,主要程式开始撰

14、写前, 使Arduino 板子装置妥当的指令可以初始化变量、管脚接口模式、启用库等(例如:pinMode(ledPin,OUTPUT);)。3、void loop()在setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arduino。连续执行函数内的语句,这部份的程式会一直重复的被执行,直到Arduino 板子被关闭。功能数字 I/OpinMode(pin, mode) 数字IO口输入输出模式定义函数,将接口定义为输入或输出接口,用在setup()函数里,pin表示为013接口名称, mode表示为INPUT或OUTPUT。即“ pinMode(接口名称,OUTPUT或INPUT)”。范例 :pinMode(7,INPUT); / 将脚位 7 设定为输入模式digitalWrite(pin, value) 数字IO口输出电平定义函数,将数字接口值至高或低、开或关,pin表示为013,value表示为HIGH或LOW,即digitalWrite(接口名称, HIGH或LOW)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号