arduino命令和函数


一、基本语法符号

基本语法符号是构成程序的基础,也是使一个程序正常编译识别和更加方便阅读的关键。理解和记住每种语法,能大大提高编程效率。

1.标识符

标识符是编程时用到的各种“名字”,包括。函数名、变量名。语法结构中的关键字等。arduino语言中标识符分为以下几类;

  • 关键字:属于编程语法结构范畴的标识符,如if,while、int、void、include、等:
  • 预定义表示符:系统预先定义能在编程中直接使用的函数名、类库名、变量名等、
  • 如loop、digitalWrite、serial、high等;
  • 用户标识符:编程者在编程过程张自定义的函数名、类库名、变量名等。
  • 标识符格式标注如下:
  • 由英文字母(大写A~Z和小写a ~ z),数字(0 ~ 9 )、下划线“_”等组成,且首位字符不是数字,如大小写错误会导致编译报错;
  • 大小写敏感,如果大小写错误会导致编译器报错;
  • 长度在255个字符以内,一般不定义过长的标识符。标识符作为标识,自定义时注意“见符识意”

1.2分隔符

分隔符用于代码与代码之间的间隔,合理使用分隔符,会使代码更加容易阅读和维护。在arduino语言种,分隔符有一下几种。

  • 分号“;”分隔每句代码,代码段语法不需要使用该分隔符;
  • 大括号对“{}”:分隔函数代码段或条件执行代码段区域:
  • 逗号“,”:分隔函数参数小括号内各参数:
  • 空格“ ”:用于语法需要的分隔符或符合规范的代码美观划分隔。
    其中,空格可以用制表符代替(制表符实际为4 ~ 8个空格,值4~8可以在IDE中具体设置),即空格分隔一般无空格个数要求。
    换行不视为分隔符,一般用于代码语句与句、段与段之间的划分,是代码更加美观易读,部分语法中还可替代或结合空格使用。
    以上间隔均为半角符号。

1.3注释符

注释符用于在代码中加入非编程语句备忘、提示等注释,注释内容在程序编译时不加入编译工作,因此不会干扰程序的运行。
arduino语言中有单行注释和多行注释,单行注释为//,用于标记非8跨行注释。而,//组合使用的注释符为多行注释,常用于标记跨行注释。

1.4运算符

运算符是程序中用于对变量、常量等,进行运算、转换操作的符号。运算符识程序中最重要的语法符号之一。
在arduino语言中,运算符可分为以下类别;

  • 算术运算符:用于完成基本的数字运算:
  • 比较运算符:用于变量进行比较运算;
  • 布尔运算符:用于布尔值真、假的比较;
  • 位运算符:对变量值进行二进制下的运算操作;
  • 符合运算符:“一气呵成”的算术运算符;
  • 指针运算符:特殊的运算符,用于变量低级操作。

1.算术运算符

算术运算符是编程中最接近数学思想的语法符号,在编程中用于数据处理,包括一下几种符号。

  • “=”:赋值, 用于变量定义。
  • “+”加运算,
  • “-”减运算,
  • “*”:乘运算。
  • “/”除运算。
  • “%”:取余运算

2.比较运算符

比较运算符多用于条件语句。比较运算符对两个值进行比较运算,比较运算结果值只有两种:真(True)和假(False)。比较运算符有如下几种。
“==”:等于;
“!=”:不等于;
“<”; 大于;
“>”;小于;
“<=” 小于等于;
“>=”;大于等于;

3.布尔运算符

布尔运算符用于对布尔值进行运算,输出运算结果为新布尔值。布尔运算符有以下3种。

  • “&&”:逻辑与,前与后均为真,既为真;
  • “||”:逻辑或,前真或后真,即为真;
  • “!”:逻辑非,对布尔真假互换。
  • “^”;按位异或;
  • “~”'按位取反;
  • “<<”;左移位。
  • “>>”右移位。

4.位运算符

单片机中的数据是以位(BIt)为单位处理的,而常用的每个字节(byte)都是由8个位数据组成的。每个位数据只可能是两种值——既二进制的0和1.处理这些类型的数据,就需要使用位操作符。
arduino语言中有如下位操作符。

  • “&”:按位与,

-“|”;按位或;

  • “^”;按位异或;
  • “~”'按位取反;
  • “<<”;左移位。
  • “>>”右移位。

5.符合运算符

1.5 数据类型

变量是编程中重要的一部分,他可以作为重要的数据工具来使用。在单片机中,程序运行需要处理、使用的数据需要储存在RAM,既随机存储器,可以随时读写,速度快,是程序的临时数据存储媒介中。数据在RAM中会以变量的形式存储。每个变量在RAM中,都具有变量指针和变量值。
在编程时,每个变量通过变量名访问。arduino语言对数据类型控制较为严格,变量的数据类型为变量类型。(除void外所有数据类型),合理使用不同的变量类型可以满足不同长 度的数据储存需求,并且可以让储存空间得到更合理的应用。

设定内容居中、居左、居右

类型关键字说明数据长度
布尔型boolean只能储存布尔值Ture(真)和False(假)1字节
字符型char以ASCII 编码器储存字符,取值范围为-128~127每个字符占用1字节
无符号字符型unsigned char同字符型,但该类型取值范围0~255,能够支持ASCII扩展编码部分的字符储存每个字符占用1字节
字节型byte以一个字节储存无符号数,范围0~255一字节
整数型int以两个字节储存数值,取值范围为-32768~32767(既能储存整数范围)2字节
无符号整数型unsigned int同整数型,但该类型取值范围为0~655352字节
单词型word以两个字节储存无符号数,范围0~655352字节
长整数型long以四个字节存储数值,取值范围为-2147483648~21474836474字节
无符号长整数型unsigned long同整数型,但该类型取值范围为0~42949672954字节
浮点型float以1个符号位,8个指数位,23个尾数位储存浮点数,取值范围为-34E38~34E38,精度8位4 字节
双精度浮点型doubleAVR arduino同float4字节
数组数组及以上任意数据类型配合特定语法组成数据组——
字符串string类似于字符型数组,以String类为基础,提供更高级的数据操作工具——

1.6常量

熟记常量并掌握其使用是重要的编程技巧。常量是系统预定义或用户定义,在程序运行过程中不能被改变的量。

                                              普通常量
作用常量说明
逻辑定义false表示逻辑假。另外0值也被认为false
逻辑定义trun表示逻辑真。另外除0外也被认为trun
引脚电平定义HIGH表示高电平
引脚电平定义LOW表示低电平
数字引脚状态INPUT高抗组状态,用于读取外部电平
数字引脚状态OUTPUT抵抗阻状态,用于输出电平给外部
指示灯引脚LED_BUILTIN不同开发板LED指示灯的引脚号不同,该常量在不同开发板均指代指示灯所在引脚位置
进制基数参数BIN用于整数按指定基数转换为字符串,常用于String()和print()
进制基数参数OCT用于将整数按指定基数转换为字符串
进制基数参数DEC用于将整数按指定基数转换为字符串
进制基数参数HEX用于将整数按指定基数转换为字符串

条件语句

在通过编程处理一些流程逻辑性的问题时,就需要用到条件语句。条件语句的作用是通过逻辑判断来运行不同代码,以实现“流程任务”。条件语句有多种,分别用于实现不同流程的处理需求。

2.1 if语句

if语句对于一个表达式进行运算,根据运算结果的布尔值判断:当值为真时运行语句或代码段,当值为假时跳过代码段。其语法格式为:
if(表达式)
{
代码段
}
其中表达式可以是一个值,不等价(任何数据类型)与布尔值false的值均判断为真。代码段指不限数量程序语句的集合,仅有一句代码时可以去掉大括号。
一下为if语句使用示例:

if (brightness) == 0 || brightness == 255 //判断brightness值是否为0或255
{
 fadeAmount = -fadeAmount;   //表达式为真时执行该语句
} 

if常用于程序的条件执行做判断,单一的代码段选择判断只是其中的一个功能,结合else关键字还能满足更多的程序流程需求。例如下面例子中,当条件表达式非真时会执行另一段代码:

if(buttonState == HIGH)  //判断buttonState电平是否为高
{
digitalWrite(ledpin,HIGH); //当表达式为真时执行该语句
}
else
{
digitalWrite(ledpin,low);  //否者执行该语句
}

else关键字还能格外再进行表达式判断,以实现多种条件判断功能7.例如对下面两个表达式进行判断,当均为非真值时将执行最后一个else关键字后面的代码选段:

if (sensorV)
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值