arduino语法教学提纲.docxVIP

  • 6
  • 0
  • 约1.65万字
  • 约 23页
  • 2020-06-20 发布于浙江
  • 举报
arduino语法 精品文档 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除 2.4 Arduino语法——变量和常量 加载第一个程序后,要想写出一个完整的程序,需要了解和掌握Arduino语言,本节将对Arduino语言做一个初步讲解,首先介绍变量和常量。 2.4.1 变量 变量来源于数学,是计算机语言中能储存计算结果或者能表示某些值的一种抽象概念。通俗来说可以认为是给一个值命名。当定义一个变量时,必须指定变量的类型。如果要变量全是整数,这种变量称为整型(int),那么如果要定义一个名为LED的变量值为11,变量应该这样声明: int led 11; 一般变量的声明方法为类型名+变量名+变量初始化值。变量名的写法约定为首字母小写,如果是单词组合则中间每个单词的首字母都应该大写,例如ledPin、ledCount等,一般把这种拼写方式称为小鹿拼写法(pumpy case)或者骆驼拼写法(camel case)。 变量的作用范围又称为作用域,变量的作用范围与该变量在哪儿声明有关,大致分为如下两种。 (1)全局变量:若在程序开头的声明区或是在没有大括号限制的声明区,所声明的变量作用域为整个程序。即整个程序都可以使用这个变量代表的值或范围,不局限于某个括号范围内。 (2)局部变量:若在大括号内的声明区所声明的变量,其作用域将局限于大括号内。若在主程序与各函数中都声明了相同名称的变量,当离开主程序或函数时,该局部变量将自动消失。 使用变量还有一个好处,就是可以避免使用魔数。在一些程序代码中,代码中出现但没有解释的数字常量或字符串称为魔数(magic number)或魔字符串(magic string)。魔数的出现使得程序的可阅读性降低了很多,而且难以进行维护。如果在某个程序中使用了魔数,那么在几个月(或几年)后将很可能不知道它的含义是什么。 为了避免魔数的出现,通常会使用多个单词组成的变量来解释该变量代表的值,而不是随意给变量取名。同时,理论上一个常数的出现应该对其做必要地注释,以方便阅读和维护。在修改程序时,只需修改变量的值,而不是在程序中反复查找令人头痛的“魔数”。 【示例1】 带变量的闪灯程序 在接下来的程序2-4里会用到ledPin这个变量,通过它来做一个带变量的闪灯程序。 程序2-4:带变量的闪灯程序 int ledPin = 13; int delayTime = 1000; void setup() { pinMode(ledPin,OUTPUT); } void loop() { digitalWrite(ledPin,HIGH); delay(delayTime); //延时1s digitalWrite(ledPin,LOW); delay(delayTime); //延时1s } 这里还使用了一个名为延时的delayTime变量,在延时(delay)函数中使用的参数单位为毫秒,用到delay函数中,即延时1000毫秒。 【示例2】 改变闪烁频率的闪灯程序 如果希望小灯闪烁快些,将延时函数值改小就可以了,读者可以尝试将delayTime改成500,可以看到小灯闪烁的频率变大了。如果在程序的后面再加上1行代码“delayTime=delayTime+100;”可以发现小灯闪烁的频率越来越小,即小灯闪烁的越来越慢了。当按下“重置”按钮后,小灯闪烁又重新变快了,如下面程序2-5所示。 程序2-5:改变闪烁频率的闪灯程序 int ledPin = 13; int delayTime = 1000; void setup() { pinMode(ledPin,OUTPUT); } void loop() { digitalWrite(ledPin,HIGH); delay(delayTime); //延时 digitalWrite(ledPin,LOW); delay(delayTime); delayTime=delayTime+100; //每次增加延时时间0.1s } 2.4.2 常量 常量是指值不可以改变的量,例如定义常量const float pi = 3.14,当pi = 5时就会报错,因为常量是不可以被赋值的。编程时,常量可以是自定义的,也可以是Arduino核心代码中自带的。下面就介绍一下Arduino核心代码中自带的一些常用的常量,以及自定义常量时应该注意的问题。 1.逻辑常量(布尔常量):false和true false的值为零,true通常情况下被定义为1,但true具有更广泛的定义。在布尔含义(Boolean Sense)里任何非零整数为true。

文档评论(0)

1亿VIP精品文档

相关文档