Arduino编程参考手册簿中文版
Arduino参考手册中文版
Arduino编程参考手册if (5)if...else . (6)for (8)switch case (10)while (11)do...while. (12)break (12)continue (13)return (14)goto (15)相关语法 (16)分号 (16)大括号 (16)注释 (18)define (19)include (20)算术运算符 (21)赋值 (21)加,减,乘,除 (21)取模 (22)比较运算符 (24)if(条件) and ==, !=, <, > (比较运算符) (24)布尔运算符 (26)指针运算符 (27)位运算 (27)位与 (27)位或 (28)位异或 (30)位非 (32)左移、右移 (33)复合运算符 (35)自加++ (35)自减-- (35)复合加+= (35)复合减-= (36)复合乘*= (36)复合除/= (36)复合与&= (36)复合或|= (36)变量 (36)宏定义 (38)整型常量 (39)浮点数常量 (41)数据类型 (41)void (41)boolean (42)char (43)unsigned char (43)byte (44)int (44)unsigned int (45)word (46)long (46)unsigned long (47)float (48)double (49)string (49)String(c++) (51)array (52)数据类型转换 (54)char() (54)byte() (54)int() (54)word() (55)long() (55)float() (56)变量作用域&修饰符 (56)变量作用域 (56)static (静态变量) (57)volatile (易变变量) (59)const (不可改变变量) (61)辅助工具 (61)sizeof() (sizeof运算符) (61)ASCII码表 (63)基本函数 (64)数字I/O (64)pinMode() (64)digitalWrite() (65)digitalRead() (67)模拟I/O (68)analogReference() (68)analogRead() (68)analogWrite() (69)shiftOut() (71)pulseIn() (72)时间 (73)millis() (73)delay(ms) (73)delayMicroseconds(us) (74)数学库 (75)min() (75)max() (75)abs() (76)constrain() (76)map() (76)pow() (78)sqrt() (78)三角函数 (78)sin(),cos(),tan() (78)随机数 (78)randomSeed() (78)random() (79)位操作 (79)设置中断函数 (80)a (80)achInterrupt() (80)detachInterrupt() (82)interrupts() (82)noInterrupts() (83)串口通讯 (83)begin() (84)available() (84)read() (86)flush() (87)print() (87)println() (91)write() (91)peak() (92)serialEvent() (92)程序结构(本节直译自Arduino官网最新Reference)在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:setup()当Arduino板起动时setup()函数会被调用。
Arduino 语法手册
Arduino语法手册Arduino的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1setup()1.2loop()二、结构控制2.1if2.2if...else2.3for2.4switchcase2.5while2.6do...while2.7break2.8continue2.9return2.10goto三、扩展语法3.1;(分号)3.2{}(花括号)3.3//(单行注释)3.4/**/(多行注释)3.5#define3.6#include四、算数运算符4.1=(赋值运算符)4.2+(加)4.3-(减)4.4*(乘)4.5/(除)4.6%(模)五、比较运算符5.1==(等于)5.2!=(不等于)5.3<(小于)5.4>(大于)5.5<=(小于等于)5.6>=(大于等于)六、布尔运算符6.1&&(与)6.2||(或)6.3!(非)七、指针运算符7.1*取消引用运算符7.2&引用运算符八、位运算符8.1&(bitwiseand)8.2|(bitwiseor)8.3^(bitwisexor)8.4~(bitwisenot)8.5<<(bitshiftleft)8.6>>(bitshiftright)九、复合运算符9.1++(increment)9.2--(decrement)9.3+=(compoundaddition)9.4-=(compoundsubtraction)9.5*=(compoundmultiplication)9.6/=(compounddivision)9.6&=(compoundbitwiseand)9.8|=(compoundbitwiseor)变量部分十、常量10.1HIGH|LOW(引脚电压定义)10.2INPUT|OUTPUT(数字引脚(Digitalpins)定义)10.3true|false(逻辑层定义)10.4integerconstants(整数常量)10.5floatingpointconstants(浮点常量)十一、数据类型11.1void11.2boolean(布尔)11.3char(有号数据类型)11.4unsignedchar(无符号数据类型)11.5byte(无符号数)11.6int(整型)11.7unsignedint(无符号整型)11.8word11.9long(长整数型)11.10unsignedlong(无符号长整数型)11.11float(浮点型数)11.12double(双精度浮点数)11.13string(chararray/字符串)11.14Stringobject(String类)11.15array(数组)十二、数据类型转换12.1char()12.2byte()12.3int()12.4word()12.5long()12.6float()十三、变量作用域&修饰符13.1variablescope(变量的作用域)13.2static(静态变量)13.3volatile13.4const十四、辅助工具14.1sizeof()函数部分十五、数字I/O15.1pinMode()15.2digitalWrite()15.3digitalRead()十六、模拟I/O16.1analogReference()16.2analogRead()16.3analogWrite()PWM十七、高级I/O17.1tone()17.2noTone()17.3shiftOut()17.4shiftIn()17.5pulseIn()十八、时间18.1millis()18.2micros()18.3delay()18.4delayMicroseconds() 十九、数学运算19.1min()19.2max()19.3abs()19.4constrain()19.5map()19.6pow()19.7sqrt()19.8ceil()19.9exp()19.10fabs()19.11floor()19.12fma()19.13fmax()19.14fmin()19.15fmod()19.16ldexp()19.17log()19.18log10()19.19round()19.20signbit()19.21sq()19.22square()19.23trunc()二十、三角函数20.1sin()20.2cos()20.3tan()20.4acos()20.5asin()20.6atan()20.7atan2()20.8cosh()20.9degrees()20.10hypot()20.11radians()20.12sinh()20.13tanh()二十一、随机数21.1randomSeed()21.2random()二十二、位操作22.1lowByte()22.2highByte()22.3bitRead()22.4bitWrite()22.5bitSet()22.6bitClear()22.7bit()二十三、设置中断函数23.1attachInterrupt()23.2detachInterrupt()二十四、开关中断24.1interrupts()(中断)24.2noInterrupts()(禁止中断)二十五、通讯25.1Serial25.2Stream二十六、USB(仅适用于Leonardo和Due)26.1Mouse(键盘)26.2Keyboard(鼠标)结构部分一、结构1.1setup()在Arduino中程序运行时将首先调用setup()函数。
Arduino 语法手册
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 &引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digital pins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)11.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3int()12.4 word()12.5 long()12.6 float()十三、变量作用域&修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作22.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于Leonardo 和Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用setup() 函数。
Arduino参考手册 - 修正
复合运算符
++ (increment) 自加 -- (decrement)自减 += (compound addition)复合加 -= (compound subtraction) *= (compound multiplication) /= (compound division) &= (compound bitwise and) |= (compound bitwise or)
当读取(read)或写入(write)数字引脚时只有两个可能的值: HIGH 和 LOW 。 HIGH HIGH(参考引脚)的含义取决于引脚(pin)的设置,引脚定义为 INPUT 或 OUTPUT 时含义有所
不同。当一个引脚通过 pinMode 被设置为 INPUT,并通过 digitalRead 读取(read)时。如果当前 引脚的电压大于等于 3V,微控制器将会返回为 HIGH。引脚也可以通过 pinMode 被设置为 INPUT,并 通过 digitalWrite 设置为 HIGH。输入引脚的值将被一个内在的 20K 上拉电阻 控制 在 HIGH 上,除 非一个外部电路将其拉低到 LOW。当一个引脚通过 pinMode 被设置为 OUTPUT,并 digitalWrite 设置 为 HIGH 时,引脚的电压应在 5V。在这种状态下,它可以 输出电流 。例如,点亮一个通过一串电 阻接地或设置为 LOW 的 OUTPUT 属性引脚的 LED。
文本字符串可以有两种表现形式。你可以使用字符串数据类型(这是 0019 版本的核心部分), 或者你可以做一个字符串,由 char 类型的数组和空终止字符('\0')构成。而字符串对象(String object)将让你拥有更多的功能,同时也消耗更多的内存资源。 String-object
最新Arduino编程参考手册中文版
Arduino编程参考手册程序结构 (4)控制语句 (5)if (5)if...else . (6)for (8)switch case (10)while (11)do...while . (12)break (12)continue (13)return (14)goto (15)相关语法 (16)分号 (16)大括号 (16)注释 (18)define (19)include (20)算术运算符 (21)赋值 (21)加,减,乘,除 (21)取模 (22)比较运算符 (24)if(条件) and ==, !=, <, > (比较运算符) (24)布尔运算符 (26)&& (逻辑与) (26)|| (逻辑或) (26)! (非) (26)指针运算符 (27)&(引用)和*(间接引用) (27)位运算 (27)位与 (27)位或 (28)位异或 (31)位非 (32)左移、右移 (33)复合运算符 (36)自加++ (36)自减-- (36)复合加+= (36)复合减-= (36)复合乘*= (36)复合除/= (36)复合与&= (36)复合或|= (36)变量 (37)常量 (37)宏定义 (38)整型常量 (39)浮点数常量 (41)数据类型 (41)void (41)boolean (42)char (43)unsigned char (44)byte (44)int (44)unsigned int (45)word (46)long (47)unsigned long (47)float (48)double (49)string (50)String(c++) (52)array (52)数据类型转换 (54)char() (54)byte() (55)int() (55)word() (55)long() (56)float() (56)变量作用域&修饰符 (57)变量作用域 (57)static (静态变量) (58)volatile (易变变量) (60)const (不可改变变量) (61)辅助工具 (62)sizeof() (sizeof运算符) (62)ASCII码表 (63)基本函数 (65)数字I/O (65)pinMode() (65)digitalWrite() (66)digitalRead() (67)模拟I/O (68)analogReference() (68)analogRead() (69)analogWrite() (70)高级I/O (71)shiftOut() (71)pulseIn() (72)时间 (73)millis() (73)delay(ms) (73)delayMicroseconds(us) (74)数学库 (75)min() (75)max() (76)abs() (76)constrain() (76)map() (77)pow() (78)sqrt() (78)三角函数 (78)sin(),cos(),tan() (78)随机数 (79)randomSeed() (79)random() (79)位操作 (80)设置中断函数 (81)a (81)achInterrupt() (81)detachInterrupt() (82)interrupts() (83)noInterrupts() (83)串口通讯 (84)begin() (84)available() (84)read() (86)flush() (88)print() (88)println() (92)write() (92)peak() (93)serialEvent() (93)程序结构(本节直译自Arduino官网最新Reference)在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:setup()当Arduino板起动时setup()函数会被调用。
Arduino 语法手册模板
else
serialWrite('L');
delay(10
if〔条件推断语句〕和==、!=、<、>〔比拟运算符〕
if语句与比拟运算符一起用于检测某个条件是否达成,如某输入值是否在特定值之上等。if语句的语法是:
if (someVariable > 50)
digitalWrite(LEDpin2, HIGH);
} //以上全部书写方法都正确
在小括号里求值的表达式,需要以下操作符:
比拟运算操作符:
x == y〔x等于y〕
x != y〔x不等于y〕
x < y〔x小于y〕
x > y〔x大于y〕
x <= y〔x小于等于y〕
x >= y〔x大于等于y〕
警告:
注意使用赋值运算符的情况〔如if (x = 10)〕。一个“=〞表示的是赋值运算符,作用是将x的值设为10〔将值10放入x变量的内存中〕。两个“=〞表示的是比拟运算符〔如if (x == 10)〕,用于测试x和10是否相等。后面这个语句只有x是10时才为真,而前面赋值的那个语句则永远为真。
这是因为C言语按以下规则进行运算if (x=10):10赋值给x〔只要非0的数赋值的语句,其赋值表达式的值永远为真〕,因此x现在值为10。此时if的测试表达式值为10,该值永远为真,因为非0值永远为真。所以,if (x =10)将永远为真,这就不是我们运行if所期待的结果。其它,x被赋值为10,这也不是我们所期待的结果。
2.8 continue
2.9 return
2.10 goto
三、扩展语法
3.1 ;〔分号〕
3.2 {}〔花括号〕
Arduino-语法手册
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 ==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 & 引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digitalpins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)精选11.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3 int()12.4 word()12.5 long()12.6 float()十三、变量作用域& 修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds()十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作22.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于Leonardo 和Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)精选结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用setup() 函数。
Arduino参考手册中文版
宏定义 (37)整型常量 (38)浮点数常量 (40)数据类型 (41)void (41)boolean (42)char (43)unsigned char (43)byte (43)int (44)unsigned int (45)word (46)long (46)unsigned long (47)float (48)double (49)string (49)String(c++) (51)array (52)数据类型转换 (54)char() (54)byte() (54)int() (55)word() (55)long() (56)float() (56)变量作用域&修饰符 (57)变量作用域 (57)static (静态变量) (58)volatile (易变变量) (60)const (不可改变变量) (61)辅助工具 (62)sizeof() (sizeof运算符) (62)ASCII码表 (63)基本函数 (65)数字I/O (65)pinMode() (65)digitalWrite() (66)digitalRead() (67)模拟I/O (68)analogReference() (68)analogRead() (69)analogWrite() (70)shiftOut() (71)pulseIn() (72)时间 (73)millis() (73)delay(ms) (73)delayMicroseconds(us) (74)数学库 (75)min() (75)max() (76)abs() (76)constrain() (76)map() (77)pow() (78)sqrt() (78)三角函数 (78)sin(),cos(),tan() (78)随机数 (79)randomSeed() (79)random() (79)位操作 (80)设置中断函数 (81)a (81)achInterrupt() (81)detachInterrupt() (82)interrupts() (83)noInterrupts() (83)串口通讯 (84)begin() (84)available() (84)read() (87)flush() (88)print() (88)println() (92)write() (92)peak() (93)serialEvent() (93)在这两个常量中false更容易被定义。
Arduino-语法手册
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 &引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digital pins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)111.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3int()12.4 word()12.5 long()12.6 float()十三、变量作用域&修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作222.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于Leonardo 和Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)3结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用setup() 函数。
Arduino编程参考手册中文版
Arduino编程参考手册首页程序结构setup()loop()控制结构ifif...elseforswitch case whiledo...whilebreakcontinuereturngoto相关语法; 分号{ 大括号// 单行注释/**/ 多行注释#define 宏定义#include 文件包含算术运算符= 赋值+ (加)- (减)* (乘)/ (除)% (取模)比较运算符== 等于!= (不等于)< (小于)> (大于)<= (小于等于)>= (大于等于)布尔运算符&& (逻辑与)|| (逻辑或) ! (逻辑非)指针运算符* 指针运算符& 地址运算符位运算& (位与)| (位或)^ (位异或)~ (位非)<< (左移)>> (右移)复合运算符++ (自加)-- (自减)+= (复合加)-= (复合减)*= (复合乘)/= (复合除)&= (复合与)|= (复合或)围HIGH | LOWINPUT | OUTPUTtrue | false整型常量浮点数常量数据类型voidbooleancharunsigned charbyteintunsigned intwordlongunsigned longfloatdoublestringString(c++)array数据类型转换char()byte()int()word()long()float()变量作用域变量作用域static (静态变量)volatile (易变变量)const (不可改变变量)辅助工具sizeof() (sizeof运算符)ASCII码表数字I/OpinMode()digitalWrite()digitalRead()模拟I/OanalogReference()analogRead()analogWrite()指高级I/OshiftOut()pulseIn()时间millis()delay(ms)delayMicroseconds(us)数学库min()max()abs()constrain()map()pow()sqrt()三角函数sin(rad)cos(rad)tan(rad)随机数randomSeed() random() random()位操作lowByte()highByte()bitRead()bitWrite()bitSet()bitClear()bit()设置中断函数attachInterrupt()detachInterrupt()interrupts()noInterrupts()串口通讯begin()available()read()flushprint()println()write()peak()serialEvent()程序结构(本节直译自Arduino官网最新Reference)在Arduino中, 标准的程序入口main函数在部被定义, 用户只需要关心以下两个函数:setup()当Arduino板起动时setup()函数会被调用。
Arduino语法手册范本
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 ==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 & 引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digital pins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)11.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3 int()12.4 word()12.5 long()12.6 float()十三、变量作用域 & 修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字 I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟 I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级 I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作22.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于 Leonardo 和 Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用 setup() 函数。
Arduino语法手册
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 ==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 & 引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digital pins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)111.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3 int()12.4 word()12.5 long()12.6 float()十三、变量作用域& 修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作222.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于Leonardo 和Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)3结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用setup() 函数。
Arduino 简单编程手册
// 延时us微秒
[简单计算]
min (x,y); // 求最小值
max (x,y); // 求最大值
abs (x,y); // 求绝对值
constrain (x,a,b); // 约束函数,当a<x<b时返回x,x<a时返回a,x>b时返回b
// address 从机地址
// quantity 请求字节数量
// stop 1结束后停止连接 0结束后保持连接
// 返回值 字节型,字节数目
Wire.beginTransmission (address);
// 开始一次传输,发送I2C起始信号
detachInterrupt (interrupt);
// 外部中断开关 0关 1开
[串口函数]
Serial.begin (speed); // 串口波特率函数
Serial.available (); // 判断缓冲器状态 返回int 无数据0 有数据>0
// 向指定地址写入数据
// add 单字节地址
// value 单字节数据
EEPROM.read (add) // 从指定地址读取数据
// add 单字节地址
// 返回值 字节型数值
// dataPin数据接口 clockPin时钟接口
// bitOrder方向(MSBFIRST高位在前 LSBFIRST低位在前) value传送数据(0至255)
pulseln (pin,value); // 脉冲长度记录
// 返回 unsigned long
map (value,fromLow,fromHigh,toLow,toHigh);
Arduino 语法手册
Arduino 语法手册Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
结构部分一、结构1.1 setup()1.2 loop()二、结构控制2.1 if2.2 if...else2.3 for2.4 switch case2.5 while2.6 do... while2.7 break2.8 continue2.9 return2.10 goto三、扩展语法3.1 ;(分号)3.2 {}(花括号)3.3 //(单行注释)3.4 /* */(多行注释)3.5 #define3.6 #include四、算数运算符4.1 =(赋值运算符)4.2 +(加)4.3 -(减)4.4 *(乘)4.5 /(除)4.6 %(模)五、比较运算符5.1 ==(等于)5.2 !=(不等于)5.3 <(小于)5.4 >(大于)5.5 <=(小于等于)5.6 >=(大于等于)六、布尔运算符6.1 &&(与)6.2 ||(或)6.3 !(非)七、指针运算符7.1 * 取消引用运算符7.2 & 引用运算符八、位运算符8.1 & (bitwise and)8.2 | (bitwise or)8.3 ^ (bitwise xor)8.4 ~ (bitwise not)8.5 << (bitshift left)8.6 >> (bitshift right)九、复合运算符9.1 ++ (increment)9.2 -- (decrement)9.3 += (compound addition)9.4 -= (compound subtraction)9.5 *= (compound multiplication)9.6 /= (compound division)9.6 &= (compound bitwise and)9.8 |= (compound bitwise or)变量部分十、常量10.1 HIGH|LOW(引脚电压定义)10.2 INPUT|OUTPUT(数字引脚(Digitalpins)定义)10.3 true | false(逻辑层定义)10.4 integer constants(整数常量)10.5 floating point constants(浮点常量)十一、数据类型11.1 void11.2 boolean(布尔)11.3 char(有号数据类型)11.4 unsigned char(无符号数据类型)11.5 byte(无符号数)11.6 int(整型)精选11.7 unsigned int(无符号整型)11.8 word11.9 long(长整数型)11.10 unsigned long(无符号长整数型)11.11 float(浮点型数)11.12 double(双精度浮点数)11.13 string(char array/字符串)11.14 String object(String类)11.15 array (数组)十二、数据类型转换12.1 char()12.2 byte()12.3 int()12.4 word()12.5 long()12.6 float()十三、变量作用域& 修饰符13.1 variable scope(变量的作用域)13.2 static(静态变量)13.3 volatile13.4 const十四、辅助工具14.1 sizeof()函数部分十五、数字I/O15.1 pinMode()15.2 digitalWrite()15.3 digitalRead()十六、模拟I/O16.1 analogReference()16.2 analogRead()16.3 analogWrite() PWM十七、高级I/O17.1 tone()17.2 noTone()17.3 shiftOut()17.4 shiftIn()17.5 pulseIn()十八、时间18.1 millis()18.2 micros()18.3 delay()18.4 delayMicroseconds() 十九、数学运算19.1 min()19.2 max()19.3 abs()19.4 constrain()19.5 map()19.6 pow()19.7 sqrt()19.8 ceil()19.9 exp()19.10 fabs()19.11 floor()19.12 fma()19.13 fmax()19.14 fmin()19.15 fmod()19.16 ldexp()19.17 log()19.18 log10()19.19 round()19.20 signbit()19.21 sq()19.22 square()19.23 trunc()二十、三角函数20.1 sin()20.2 cos()20.3 tan()20.4 acos()20.5 asin()20.6 atan()20.7 atan2()20.8 cosh()20.9 degrees()20.10 hypot()20.11 radians()20.12 sinh()20.13 tanh()二十一、随机数21.1 randomSeed()21.2 random()二十二、位操作22.1 lowByte()22.2 highByte()22.3 bitRead()22.4 bitWrite()22.5 bitSet()22.6 bitClear()22.7 bit()二十三、设置中断函数23.1 attachInterrupt()23.2 detachInterrupt()二十四、开关中断24.1 interrupts()(中断)24.2 noInterrupts()(禁止中断)二十五、通讯25.1 Serial25.1.1 if (Serial)25.1.2 Serial.available()25.1.3 Serial.begin()25.1.4 Serial.end()25.1.5 Serial.find()25.1.6 Serial.findUntil()25.1.7 Serial.flush()25.1.8 Serial.parseFloat()25.1.9 Serial.parseInt()25.1.10 Serial.peek()25.1.11 Serial.print()25.1.12 Serial.println()25.1.13 Serial.read()25.1.14 Serial.readBytes()25.1.15 Serial.readBytesUntil()25.1.16 Serial.setTimeout()25.1.17 Serial.write()25.1.18 Serial.SerialEvent()25.2 Stream二十六、USB(仅适用于Leonardo 和Due)26.1 Mouse(键盘)26.2 Keyboard(鼠标)精选结构部分一、结构1.1 setup()在Arduino中程序运行时将首先调用setup() 函数。
Arduino-SPI模块官方手册翻译
1.串行外围设备接口入门(Introduction to the Serial Peripheral Interface)Serial Peripheral Interface (SPI)是一种同步串行数据传输协议,用于近距离时,微控制器(Microcontrollers),如Arduino,与其他外围设备的快速通信。
他也可以用于2个微控制器的通讯。
SPI通讯通常有一个主设备(通常是Microcontrollers),用于控制外围设备。
通常会有3种线路通用于各类设备的方法。
-Master In Slave Out(MISO)- Slave line,用于Slave向Master发送数据-Master Out Slave In(MOSI)- Master line,用于Master向Slave发送数据-Serial Clock(SCK)- 时钟脉冲,主设备用于同步数据传输-Slave Select pin- 分配给所有的设备,用于enable/disable指定的设备,同时用于避免由于线路忙导致的错误传输。
SPI最大的问题在于它的标准太不严格了,这导致各个设备在实现它的时候都有一些不同,这就意味着当我们在编写接口代码的时候必须仔细阅读设备数据参数。
通常来说有编号为0-3的3种传输模式(不是4种么?)这些模式控制数据是在时钟信号的高电平还是低电平传入或传出,以及在高或低电平时时钟无效。
所有的SPI设置都由Arduino SPI控制寄存器(SPCR)来决定。
这个寄存器就是微控制器内存的一个字节,它是可读写的。
寄存器提供的服务通常有3类:控制、数据和状态。
控制寄存器(SPCR)编码设置控制多种微控制器的功能。
通常控制寄存器中的一个位影响某个特定的设置,比如速度和极性(这个是啥?)数据寄存器(SPDR)仅仅hold住了一个字节。
比如,SPI数据寄存器hold住了要发往MOSI线的一个字节,或者这个数据是要从MISO线传入的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Arduino编程参考手册控制语句 (5)if (5)if...else (6)for (8)switch case (10)while (11)do...while . (12)break (12)continue (13)return (14)goto (15)相关语法 (16)分号 (16)大括号 (16)注释 (18)define (19)include (20)算术运算符 (21)赋值 (21)加,减,乘,除 (21)取模 (22)比较运算符 (24)if(条件) and ==, !=, <, > (比较运算符) (24)布尔运算符 (26)指针运算符 (27)位运算 (27)位与 (27)位或 (28)位异或 (30)位非 (32)左移、右移 (33)复合运算符 (35)自加++ (35)自减-- (35)复合加+= (35)复合减-= (36)复合乘*= (36)复合除/= (36)复合与&= (36)复合或|= (36)变量 (36)宏定义 (37)整型常量 (38)浮点数常量 (40)数据类型 (41)void (41)boolean (42)char (43)unsigned char (43)byte (43)int (44)unsigned int (45)word (46)long (46)unsigned long (47)float (48)double (49)string (49)String(c++) (51)array (52)数据类型转换 (54)char() (54)byte() (54)int() (55)word() (55)long() (56)float() (56)变量作用域&修饰符 (57)变量作用域 (57)static (静态变量) (58)volatile (易变变量) (60)const (不可改变变量) (61)辅助工具 (62)sizeof() (sizeof运算符) (62)ASCII码表 (63)基本函数 (65)数字I/O (65)pinMode() (65)digitalWrite() (66)digitalRead() (67)模拟I/O (68)analogReference() (68)analogRead() (69)analogWrite() (70)shiftOut() (71)pulseIn() (72)时间 (73)millis() (73)delay(ms) (73)delayMicroseconds(us) (74)数学库 (75)min() (75)max() (76)abs() (76)constrain() (76)map() (77)pow() (78)sqrt() (78)三角函数 (78)sin(),cos(),tan() (78)随机数 (79)randomSeed() (79)random() (79)位操作 (80)设置中断函数 (81)a (81)achInterrupt() (81)detachInterrupt() (82)interrupts() (83)noInterrupts() (83)串口通讯 (84)begin() (84)available() (84)read() (87)flush() (88)print() (88)println() (92)write() (92)peak() (93)serialEvent() (93)程序结构(本节直译自Arduino官网最新Reference)在Arduino中, 标准的程序入口main函数在部被定义, 用户只需要关心以下两个函数:setup()当Arduino板起动时setup()函数会被调用。
用它来初始化变量,引脚模式,开始使用某个库,等等。
该函数在Arduino 板的每次上电和复位时只运行一次。
loop()在创建setup函数,该函数初始化和设置初始值,loop()函数所做事的正如其名,连续循环,允许你的程序改变状态和响应事件。
可以用它来实时控制arduino板。
示例:控制语句ifif,用于与比较运算符结合使用,测试是否已达到某些条件,例如一个输入数据在某个围之外。
使用格式如下:该程序测试value是否大于50。
如果是,程序将执行特定的动作。
换句话说,如果圆括号中的语句为真,大括号中的语句就会执行。
如果不是,程序将跳过这段代码。
大括号可以被省略,如果这么做,下一行(以分号结尾)将成为唯一的条件语句。
圆括号中要被计算的语句需要一个或多个操作符。
if...else与基本的if语句相比,由于允许多个测试组合在一起,if/else可以使用更多的控制流。
例如,可以测试一个模拟量输入,如果输入值小于500,则采取一个动作,而如果输入值大于或等于500,则采取另一个动作。
代码看起来像是这样:else中可以进行另一个if测试,这样多个相互独立的测试就可以同时进行。
每一个测试一个接一个地执行直到遇到一个测试为真为止。
当发现一个测试条件为真时,与其关联的代码块就会执行,然后程序将跳到完整的if/else结构的下一行。
如果没有一个测试被验证为真。
缺省的else语句块,如果存在的话,将被设为默认行为,并执行。
注意:一个else if语句块可能有或者没有终止else语句块,同理。
每个else if分支允许有无限多个。
另外一种表达互斥分支测试的方式,是使用switch case语句。
forfor语句描述for语句用于重复执行被花括号包围的语句块。
一个增量计数器通常被用来递增和终止循环。
for语句对于任何需要重复的操作是非常有用的。
常常用于与数组联合使用以收集数据/引脚。
for循环的头部有三个部分:初始化部分被第一个执行,且只执行一次。
每次通过这个循环,条件判断部分将被测试;如果为真,语句块和数据递增部分就会被执行,然后条件判断部分就会被再次测试,当条件测试为假时,结束循环。
示例:编码提示:C中的for循环比在其它计算机语言中发现的for循环要灵活的多,包括BASIC。
三个头元素中的任何一个或全部可能被省略,尽管分号是必须的。
而且初始化部分、条件判断部分和数据递增部分可以是任何合法的使用任意变量的C语句。
且可以使用任何数据类型包括floats。
这些不常用的类型用于语句段也许可以为一些罕见的编程问题提供解决方案。
例如,在递增部分中使用一个乘法将形成对数级增长:输出: 2,3,4,6,9,,19,28,42,63,94另一个例子,在一个for循环中使一个LED灯渐渐地变亮和变暗:switch caseswitch case 语句就像if语句,switch...case通过允许程序员根据不同的条件指定不同的应被执行的代码来控制程序流。
特别地,一个switch语句对一个变量的值与case语句中指定的值进行比较。
当一个case语句被发现其值等于该变量的值。
就会运行这个case语句下的代码。
break关键字将中止并跳出switch语句段,常常用于每个case语句的最后面。
如果没有break语句,switch语句将继续执行下面的表达式(“持续下降”)直到遇到break,或者是到达switch语句的末尾。
示例:语法参数var: 与不同的case中的值进行比较的变量label: 相应的case的值whilewhile循环描述:while循环将会连续地无限地循环,直到圆括号()中的表达式变为假。
被测试的变量必须被改变,否则while循环将永远不会中止。
这可以是你的代码,比如一个递增的变量,或者是一个外部条件,比如测试一个传感器。
语法:参数:expression - 一个(布尔型)C语句,被求值为真或假示例:do...whiledo循环do循环与while循环使用相同方式工作,不同的是条件是在循环的末尾被测试的,所以do循环总是至少会运行一次。
示例:breakbreak用于中止do,for,或while循环,绕过正常的循环条件。
它也用于中止switch语句。
示例:continuecontinue语句跳过一个循环的当前迭代的余下部分。
(do,for,或while)。
通过检查循环测试条件它将继续进行随后的迭代。
示例:return终止一个函数,并向被调用函数并返回一个值,如果你想的话。
语法:参数:value: 任何类型的变量或常量示例:return 关键字对测试一段代码很方便,不需“注释掉”大段的可能是错误的代码。
goto在程序中转移程序流到一个标记点语法:提示:在C程序中不建议使用goto,而且一些C编程书的作者主永远不要使用goto语句,但是明智地使用它可以简化某些代码。
许多程序员不赞成使用goto的原因是,无节制地使用goto语句很容易产生执行流混乱的很难被调试程序。
尽管如是说,仍然有很多使用goto语句而大大简化编码的实例。
其中之一就是从一个很深的循环嵌套中跳出去,或者是if逻辑块,在某人些条件下。
示例:相关语法分号用于一个语句的结束示例提示忘记在一行的末尾加一个分号将产生一个编译器错误。
该错误信息可能是明显的,且会提及丢失分号,但也许不会。
如果出现一个不可理喻的或看起来不合逻辑的错误,其中一个首先要做的事就是检查分号丢失。
编译器会在前一行的附近发出抱怨。
大括号大括号(又称括弧或花括号)是C语言的主要组成部分。
它们用在几个不同的结构中,大致如下,这可能会令初学者感到困惑。
一个左大括号必须有一个右大括号跟在后面。
这是一个常被称为平衡括号的条件。
Arduino IDE(集成开发环境)包含一个方便的特性以检验平衡大括号。
只需选择一个大括号,甚至直接在一个大括号后面点击插入点,然后它的逻辑上的同伴就会高亮显示。
目前此功能有些许错误,因为IDE经常在文本中(错误地)发现一个已经被注释掉的大括号。
初级程序员,和从BASIC转到C的程序员常常发现使用大括号令人困惑或畏缩。
毕竟,用同样的大括号在子例程(函数)中替换RETURN语句,在条件语句中替换ENDIF语句和在FOR循环中替换NEXT语句。
由于大括号的使用是如此的多样,当插入一个需要大括号的结构时,直接在打出开括号之后打出闭括号是个不错的编程实践。
然后在大括号之间插入一些回车符,接着开始插入语句。
你的大括号,还有你的态度,将永远不会变得不平衡。
不平衡的大括号常常导致古怪的,难以理解的编译器错误,有时在大型程序中很难查出。
因为它们的多样的使用,大括号对于程序的语法也是极其重要的,对一个大括号移动一行或两行常常显著地影响程序的意义。
大括号的主要用法注释注释是程序中的一些行,用于让自己或他人了解程序的工作方式。
他们会被编译器忽略,而不会输出到控制器,所以它们不会占用Atmega芯片上的任何空间。