云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > arduino从零开始学 - 图文

arduino从零开始学 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 0:34:17

开始Arduino之旅 第2章 Serial.println(intArray[i]); //打印数组元素 } }

void loop() {

// put your main code here, to run repeatedly: }

2.7 Arduino语法——运算符

本节介绍最常用的一些Arduino运算符,包括赋值运算符、算数运算符、关系运算符、逻辑运算符和递增/减运算符。

2.7.1 赋值运算符

=(等于)为指定某个变量的值,例如:A=x,将x变量的值放入A变量。

+=(加等于)为加入某个变量的值,例如:B+=x,将B变量的值与x变量的值相加,其和放入B变量,这与B=B+x表达式相同。

-=(减等于)为减去某个变量的值,例如:C-=x,将C变量的值减去x变量的值,其差放入C变量,与C=C-x表达式相同。

*=(乘等于)为乘入某个变量的值,例如:D*=x,将D变量的值与x变量的值相乘,其积放入D变量,与D=D*x表达式相同。

/=(除等于)为和某个变量的值做商,例如:E/=x,将E变量的值除以x变量的值,其商放入E变量,与E=E/x表达式相同。

%=(取余等于)对某个变量的值进行取余数,例如:F%=x,将F变量的值除以x变量的值,其余数放入F变量,与F=F%x表达式相同。

&=(与等于)对某个变量的值按位进行与运算,例如:G&=x,将G变量的值与x变量的值做AND运算,其结果放入G变量,与G=G&x表达式相同。

|=(或等于)对某个变量的值按位进行或运算,例如:H|=x,将H变量的值与x变量的值相OR运算,其结果放入变量H,与H=H|x相同。

^=(异或等于)对某个变量的值按位进行异或运算,例如:I^=x,将I变量的值与x变量的值做XOR运算,其结果放入变量I,与I=I^x相同。

<<=(左移等于)将某个变量的值按位进行左移,例如:J<<=n,将J变量的值左移n位,与J=J<

>>=(右移等于)将某个变量的值按位进行右移,例如:K>>=n,将K变量的值右移n位,与K=K>>n相同。

2.7.2 算数运算符

+(加)对两个值进行求和,例如:A=x+y,将x与y变量的值相加,其和放入A变量。 -(减)对两个值进行做差,例如:B=x-y,将x变量的值减去y变量的值,其差放入B变量。

·33· Arduino开发从零开始学 *(乘)对两个值进行乘法运算,例如:C=x*y,将x与y变量的值相乘,其积放入C变量。 /(除)对两个值进行除法运算,例如:D=x/y,将x变量的值除以y变量的值,其商放入D变量。

%(取余)对两个值进行取余运算,例如:E=x%y,将x变量的值除以y变量的值,其余数放入E变量。

2.7.3 关系运算符

==(相等)判断两个值是否相等,例如:x==y,比较x与y变量的值是否相等,相等则其结果为1,不相等则为0。

!=(不等)判断两个值是否不等,例如:x!=y,比较x与y变量的值是否相等,不相等则其结果为1,相等则为0。

<(小于)判断运算符左边的值是否小于右边的值,例如:x

>(大于)判断运算符左边的值是否大于右边的值,例如:x>y,若x变量的值大于y变量的值,其结果为1,否则为0。

<=(小等于)判断运算符左边的值是否小于等于右边的值,例如:x<=y,若x变量的值小等于y变量的值,其结果为1,否则为0。

>=(大等于)判断运算符左边的值是否大于等于右边的值,例如:x>=y,若x变量的值大等于y变量的值,其结果为1,否则为0。

2.7.4 逻辑运算符

&&(与运算)对两个表达式的布尔值进行按位与运算,例如:(x>y)&&(y>z),若x变量的值大于y变量的值,且y变量的值大于z变量的值,则其结果为1,否则为0。

||(或运算)对两个表达式的布尔值进行按位或运算,例如:(x>y)||(y>z),若x变量的值大于y变量的值,或y变量的值大于z变量的值,则其结果为1,否则为0。

!(非运算)对某个布尔值进行非运算,例如:!(x>y),若x变量的值大于y变量的值,则其结果为0,否则为1。

2.7.5 递增/减运算符

++(加1)将运算符左边的值自增1,例如:x++,将x变量的值加1,表示在使用x之后,再使x值加1。

--(减1)将运算符左边的值自减1,例如:x--,将x变量的值减1,表示在使用x之后,再使x值减1。

2.8 Arduino语法——条件判断语句

Arduino语言基于C和C++,有过开发经验的都知道,C语言中有一些内建指令,这些内建指

·34· 开始Arduino之旅 第2章 令中有很重要的几个语句经常用到,这里介绍常用的条件判断语句if和else。

if语句

在考虑问题和解决问题的过程中,很多事情不是一帆风顺的,需要进行判断再做出不同的行为。这里就需要用到了条件语句,有些语句并不是一直执行的,需要一定的条件去触发。同时,针对同一个变量,不同的值进行不同的判断,也需要用到条件语句。同样,程序如果需要运行一部分,也可以进行条件判断。

if的语法如下:

if(delayTime<100)

{ delayTime=1000; }

如果if后面的条件满足,就执行{ }内的语句。

if中表示判断的语句使用到的关系运算符如表2-3所示。

表2-3 关系运算符

运算符 < 含义 小于 例子 1<2 2<1 2>1 1>1 2<=2 3<=2 例子 3>=3 2>=3 2==2 1==2 1!=2 2!=2 结果 真 假 真 假 真 假 (续表)

运算符 >= 含义 大于等于 结果 真 假 真 假 真 假 > <= 大于 小于等于 == != 等于 不等于 【示例4】 使用if制作改变闪烁频率的闪灯程序

在介绍变量时,用了一个闪灯的例子进行举例说明,最后加了一行代码来使小灯闪烁的频率越来越小,即小灯越闪越慢。可是如果希望小灯越闪越快,并且到一定的程度重新恢复初始的闪灯频率,应该怎么办呢?看下面的程序。

程序2-7:改变闪烁频率的闪灯程序

·35· Arduino开发从零开始学 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; if(delayTime<100) { delayTime=1000; } }

//点亮小灯 //延时 //熄灭小灯

//每次将延时时间减少0.1s

//当延时时间小于0.1s时,重新校准延时为1s

在这个程序中用到了if条件判断语句,程序每次运行到if语句时都会进行检查,在delayTime>=100时,大括号里面的delayTime=1000是不执行的。程序进入下一次循环。当delayTime<100,delayTime=1000被执行,delayTime的值改变成为1000,并进入到下一次循环中。

【示例5】 使用if…else制作改变闪烁频率的闪灯程序

if语句另一种形式也很常用,即if…else语句。这种语句语义为:在条件成立时执行if语句下括号的内容,不成立时执行else语句下的内容。

对闪灯的程序进行修改,使用else语句,如程序2-8所示。 程序2-8:使用else语句的闪灯程序

int ledPin = 13;

int delayTime = 1000;

void setup() { pinMode(ledPin,OUTPUT); }

void loop() { digitalWrite(ledPin,HIGH); delay(delayTime); digitalWrite(ledPin,LOW); delay(delayTime); if(delayTime<100) { ·36·

搜索更多关于: arduino从零开始学 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

开始Arduino之旅 第2章 Serial.println(intArray[i]); //打印数组元素 } } void loop() { // put your main code here, to run repeatedly: } 2.7 Arduino语法——运算符 本节介绍最常用的一些Arduino运算符,包括赋值运算符、算数运算符、关系运算符、逻辑运算符和递增/减运算符。 2.7.1 赋值运算符 =(等于)为指定某个变量的值,例如:A=x,将x变量的值放入A变量。 +=(加等于)为加入某个变量的值,例如:B+=x,将B变量的值与x变量的值相加,其和放入B变量,这与B=B+x表达式相同。 -=(减等于)为减去某个变量的值,例如:

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com