第一范文网 - 专业文章范例文档资料分享平台

arduino从零开始学 - 图文

来源:用户分享 时间:2025/6/25 16:46:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

开始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从零开始学 - 图文 的文档
arduino从零开始学 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2i93a1581m9s4tl8l1hw_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top