《2023Arduino语法手册指南.docx》由会员分享,可在线阅读,更多相关《2023Arduino语法手册指南.docx(72页珍藏版)》请在优知文库上搜索。
1、ArdUinO语法手册Arduino的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。结构部分6.2”(或)一、结构6.3!(非)七、指针运算符1.1setup()1.2loop()二、结构控制2.1if2.2 if.else2.3 for7.1*取消引用运算符7.2&引用运算符)位运算符8.1 &(bitwi$eand)8.2 (bitwiseor)8.3 (bitwisexor)2.4switchcase8.4(bitwisenot)2.5while2.6do.while2.7 break2.8 continue2.9 return2.10 goto扩展语法3.1 ;(分号)3
2、.2 (花括号)3.3 (单行注释)3.4 /*/(多行注释)35ffdefine3.6 include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 =(等于)5.2 !=(不等于)5.3 (大于)5.5 =(大于等于)六布尔运算符6.166 (与)8.5 (bitshiftright)九、复合运算符9.1 +(increment)9.2 -(decrement)9.3+=(compoundaddition)9.4 -(compoundsubtraction)9.5 *=(compoundmultip
3、lication)9.6 =(compounddivision)9.6&=(compoundbitwiseand)9.81 =(Compoundbitwiseor)变量部分十常量10.1 HIGHI1.OW(引脚电压定义)10.2 INPUTIOUTPUT(数字引脚(Digitalpins)定义)10.3 trueIfalse(逻辑层定义)10.4 integerconstants(整数常量)10.5 floatingpointconstants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 Char(有号数据类型)11.4 UnSignedChar(无符
4、号数据类型)11.5 byte(无符号数)11.6 int(整型)11.7UnSignedint(无符号整型)18.3delay()11.8word18.4delayMicroseconds()11.9long(长整数型)十九、数学运算11.10unsignedIOng(无符号长整数型)19.1min()11.11float(浮点型数)19.2max()11.12double(双精度浮点数)19.3abs()11.13string(Chararraw字符串)19.4constrain!)11.14StringObjeCt(String类)19.5map()11.15array(数组)19.6p
5、ow()十二、数据类型转换19.7sqrt()12.1char()19.8ceil()12.2byte()19.9ep()12.3int()19.10fabs()12.4word()19.11floor()12.5long()19.12fma()12.6float()19.13fmax()十三变量作用域&修饰符19.14fmin()13.1variablescope(变量的作用域)19.15fmod()13.2static(静态变量)19.16ldep()13.3volatile19.17log()13.4const19.18Iogl0()十四辅助工具19.19round()14.1sizeo
6、f()19.20signbit()19.21sq()19.22square()函数部分19.23trunc()二十三角函数十五、数字I/O20.1sin()15.1pinMode()20.2cos()15.2digitalWrite()20.3tan()15.3digitalRead()20.4acos()十六、模拟I/O20.5asin()16.1analogReference()20.6atan()16.2analogRead()20.7atan2()16.3analogWrite()PWM20.8cosh()十七高级I/O20.9degrees)17.1tone()20.10hypot(
7、)17.2noTone()20.11radians()17.3ShiftOutO20.12sinh()17.4ShiftInO20.13tanh()17.5pulseln()二十一、随机数十八、时间21.1randomSeed()18.1millis()21.2random)18.2micros()二十二、位操作22.1 IowByteO22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachlnterrupt()23.2 detachlnter
8、rupt()二十四、开关中断24.1 interrupts。(中断)24.2 nolnterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 If(SeriaI)25.1.2 Seria1.avaiIabIeO25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Sena1.findUntiIO25.1.7 Serial.flush()25.1.8 Seria1.parseFIoatO25.1.9 Seria1.parseIntO25.1.10 Serial.peek()25.1.11 Se
9、rial.print()25.1.12 Seria1.printInO25.1.13 Serial.read()25.1.14 Seria1.readBytesO25.1.15 Seria1.readByteslIntiIO25.1.16 Seria1.setTimeoutO25.1.17 Serial.write()25.1.18 Seria1.SeriaIEventO25.2 Stream二十六USB(仅适用于1.eonardo和DUe)26.1 Mouse(键盘)26.2 Keyboard(鼠标)结构部分、结构1.1 setup()在ArdUin。中程序运行时将首先调用SetUP()函数
10、。用于初始化变量、设置针脚的输出那爰型、配置串口、引入类库文件等等。每次ArdUino上电或重启后,SetUP函数只运示例intbuttonPin=3;voidsetp()(Serial.begin(9600);pinMode(buttoPin,INPUT);voidloop()(/.)1.2 loop()在setup()函数中初始化和定义/变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断的循环,根据一些反馈,相应改变执行情况。通过该函数动态控制ArdUino主控板。示例intbuttonPin=3setup中初始化串口和按键针脚.voidsetup()fbeginSeri
11、al(9600);pinMode(buttoPin,INPUT);)/loop中每次都检直按钮,如果按钮被按下,就发送信息到串口voidloop()(if(digitalRead(buttonPin)=HIGH)serialWrite(,H,);elseserialWrite(,1.,);delay(1000);)二、结构控制2.1 ifif(条件判断语句)利=、!=、(比较运算符)if语句与比较运算符一起用于检测某个条件是否达成,如某输入值是否在特定值之上等。if语句的语法是:if(someVariable50)(执行某些语句)本程序测试SomeVariable变量的值是否大于50。当大于5
12、0时,执行一些语句。换句话说,只要if后面括号里的结果(称之为测试表达式)为真,则执行大括号中的语句(称之为执行语句块);若为假,则跳过大括号中的语句。if语句后的大括号可以省略。若省略大括号,则只有一条语句(以分号结尾)成为执行语句。if(x120)digitalWrite(1.EDpin,HIGH);if()ol20)digitalWrite(1.EDpinlHIGH);if(x120)digitalWrite(1.EDpin,HIGH)Jif(x120)digitalWrite(1.EDpinl,HIGH);digitalWrite(1.EDpin2,HIGH);/以上所有书写方式都正确
13、在小括号里求值的表达式,需要以下操作符:比较运算操作符:x=y(X大于等于y)三0x=y(X等于y)=y(X不等于y)xy(x大于y)“注意使用赋值运算符的情况(如if(x=IO)。一变“=”表遍勺是期值运算符,作用足将X的隘魂强舲翻蹭触锵媪,辆球运霸(如HE用测试值的那个语句则永远为真。这是因为C语言按以下规则进行运算if(x=10):10赋值给X(只要非。的数赋值的语句,其赋值表达式的值永远为真),因此X现在值为10。此时if的测试表达式值为10,该值永远为真,因为非0值永远为真。所以,if(x=10)将永远为真,这就不是我们运行if所期待的结果。另外,X被赋值为10,这也不是我们所期待的
14、结果。if的另外一种分支条件控制结构是if.else形式。2.2 if.elseif/else是比if更为高级的流程控制语句,它可以进行多次条件测试。比如I,检测模拟输入的值,当它小于500时该执行哪些操作,大于或等于500时执行另外的操作。代码如下:if(pinFivelnput500)执行A操作else执行B操作else可以进行额外的if检测,所以多个互斥的条件可以同时进行检测。,若存测试将一个一个进行下去,直到某个测试结果为真,此时该测试相关的;运行,然后程序就跳过剩下的检测,直翻I行到if/else/下一条语句。当所有检测在else语句块,将执行默认&Hse语句块。注意elseif语句块可以没有HSe语句块。elseif分支语句的数量无限制。if(pinFivelnput=1000)(执行B操作)else(执行C