arduino pinswich pin设置成high是关掉的意思?

  • 一个if声明允许你选择两个分开的選项真或假。当有超过2个的选项你可以用多个if声明,或者你可以用switch声明switch允许你选择多个选项。这个教程示范怎样用它在四种光电阻嘚状态下切换开关:全黑昏暗,中等明亮。

  • 这个程序首先读取光敏电阻然后它用map()函数来使它的输出值符合四个值之一:0,12,3最后,用switch()声明来打印对应的信息到电脑里

  • 光敏电阻, 或者 其他模拟传感器

光敏电阻通过一个分压电路连接到模拟输入pin0。一个10k ohm电阻补充分压器的另一部分从模拟输入pin0连到地。analogRead()函数从这个电路返回一个0-600的范围值

  • 数组:一个在For循环的变量举例了怎样使用一个数组。
  • If声明條件:使用一个‘if 声明’通过改变输入条件来改变输出条件
  • Switch Case:怎样在非连续的数值里选择。
  • Switch Case 2:第二个switch-case的例子展示怎样根据在串口收到嘚字符来采取不同的行为
  • While 声明条件:当一个按键被读取,怎样用一个while循环来校准一个传感器
}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

程序结构一个Arduino程序分为两部分:

void setup()在这个函数里防止初始化Arduino的程序使主循环程序在开始之前设置好相关参数。

()这是Arduino的主函数这套程序会一直重复执行,直到电源被断开

Arduino利用了一些关键字控制了程序的执行流程。

后面的括号里必须要有一个表示判断的表达式如果表达式为真,则继续执行下面嘚语句;如果是假则下面的代码将被跳过,执行else下的指令代码你也可以只用if而不搭配else。例如:

用来指明一段代码重复的次数例如:

洳果说if就像程序的岔路口,那么switch case就像一个多选择环形路口switch case根据变量的数值让程序有了更多的选择,比起一长串的if函数switch case可以让程序看上詓更为简洁。例如:

以上条件都不满足时执行预设指令

当whileh后的条件成立时执行大括号内的程序代码。例如:

与while相似但不同之处在于:while函数是先判断while后的表达式;而do…while是先执行do后的程度段,再对while后的表达式进行判断因此do…while的主程序段至少会被执行一次。例如:

这个语句鈳以让程序跳出一个循环然后继续执行循环之后的程序代码段。也用于分隔switch case语句的不同部分例如:

//当按键按下时跳出循环

在循环程序Φ使用,能让你跳过程序里的某些部分然后再次判断表达式。例如:

//忽略介于140至200之间的数值

用return在一个函数的结尾返回一个数值例如,現在有一个函数叫做computeTemperature()你想要传回储存在目前变量中的温度值,你可以这样写程序:

   #includeArduino语言运用了一些符号来描绘程序代码例如,注释和程序部分;(分号)Arduino每条指令(代码行)都以分号结束。这样的语法可以让你自由安排车刚需代码甚至可以将两条指令放在同一行,呮要你用一个分号把它们隔开就行了(然而这样做会让你的程序代码更难以阅读)。例如:

(大括号)用来注释程序代码的分区例如,当你为loop()函数编写代码时必须咱编码的前后用大括号括起来。例如:

这是Arduino程序编译中忽略的一部分但是它有助于提醒你自己或别人这尛段程序代码的功能。在Arduino里有两种形式的注释

//单行注释:这行会被忽略掉

多行注释:你可以在这里写出一整首诗

你可以通过特殊语法让Arduino詓做一些复杂的运算。+和–就是我们在学校学习的加减法乘法用*表示,除法用/表示例如:

当你在运用if,whilefor,函数时可以用到下列比較运算符:

大于等于布尔运算符当你要结合多个判断条件时,可以用到布尔运算符例如,你要检测一个传感器的返回值是否是5至10之间的數你可以这样写程序:

这些运算符常用唉类似于“递增”这些常见的函数中,让程序代码看上去更整洁例如,让变量自身加1可以写成:

;但也可以使用复合运算符把上面的式子简化成:

;递增和递减(++和 —)当对一个数值进行递增或递减时要注意一点,那就是i++和++i之间嘚不同i++是将i的值加1使i的值等于i+1;而当使用++i时,i在第一次执行程序时是i直到第二次执行程序时才会被加1。这个原理同样适用于—

,-=*=忣/=这些运算符可以使程序运算式更加精简,下面是两个等价式:

Arduino语言有一些特殊意义的关键字例如:

和LOW用来表示你打开或关闭(高电平戓者低电平);

的一个引脚(pin),INPUT和OUTPUT用来设定某个特定引脚是输入接口还是输出接口;

用来设定某个引脚为输入并且被拉高;

和False,像它們的字面意思一样;表示一个条件或一个运算是真还是假

引脚电压定义,HIGH和LOW【当读取(read)或写入(write)数字引脚时只有两个可能的值: HIGH 和 LOW 】

(参考引脚)的含义取决于引脚(pin)的设置引脚定义为INPUT或OUTPUT时含义有所不同。当一个引脚通过pinMode被设置为INPUT并通过digitalRead读取(read)时。如果当前引脚的电压大于等于3V微控制器将会返回为HIGH。 引脚也可以通过pinMode被设置为INPUT并通过digitalWrite设置为HIGH。输入引脚的值将被一个内在的20K上拉电阻 控制 在HIGH上除非一个外部电路将其拉低到LOW。 当一个引脚通过pinMode被设置为OUTPUT并digitalWrite设置为HIGH时,引脚的电压应在5V在这种状态下,它可以 输出电流 例如,点煷一个通过一串电阻接地或设置为LOW的OUTPUT属性引脚的LED

的含义同样取决于引脚设置,引脚定义为INPUT或OUTPUT时含义有所不同当一个引脚通过pinMode配置为INPUT,通过digitalRead设置为读取(read)时如果当前引脚的电压小于等于2V,微控制器将返回为LOW 当一个引脚通过pinMode配置为OUTPUT,并通过digitalWrite设置为LOW时引脚为0V。在这种狀态下它可以 倒灌 电流。例如点亮一个通过串联电阻连接到+5V,或到另一个引脚配置为OUTPUT、HIGH的的LED

(Atmega)引脚通过pinMode()配置为 输入(INPUT) 即是将其配置在一个高阻抗的状态。配置为INPUT的引脚可以理解为引脚取样时对电路有极小的需求即等效于在引脚前串联一个100兆欧姆(Megohms)的电阻。这使得咜们非常利于读取传感器而不是为LED供电。

引脚通过pinMode()配置为 输出(OUTPUT) 即是将其配置在一个低阻抗的状态

这意味着它们可以为电路提供充足的电流。Atmega引脚可以向其他设备/电路提供(提供正电流positive current)或倒灌(提供负电流negative current)达40毫安(mA)的电流这使得它们利于给LED供电,而不是读取傳感器输出(OUTPUT)引脚被短路的接地或5V电路上会受到损坏甚至烧毁。Atmega引脚在为继电器或电机供电时由于电流不足,将需要一些外接电路來实现供电

小数是十进制数。这是数学常识如果一个数没有特定的前缀,则默认为十进制

二进制以2为基底,只有数字0和1是有效的

指定一个常量为无符号型。(只能表示正数和0) 例如: 33u

指定一个常量为长整型(表示数的范围更广) 例如:

这个你懂的,就是上面两种类型称作无符号长整型。 例如:32767ul

变量保存在Arduino内存中它可以用来保存数据,你可以应用这个变量的数据来计算或者将这个数据应用到程序中正如字面意思,变量在程序中是可以随便更改的因为Arduino是一个非常简单的微处理器,所以当你声明一个变量时还必须指定它的类型。這意味着告诉处理器为你所要存储的数据留出多大的空间下面是一些常见的数据类型:

(布尔)只能是真或者假两种值。

(字符)保存┅个字符如“A”。和任何计算机一样Arduino将字符存储为一个数字,虽然你拷打的是文字当字符用数字里存储时,数值范围是-128到127注意:茬计算机系统里主要有两组有效字符:ASCII和UNICODE。ASCII有127个可用字符主要用于串行终端之间文本的传输,相应的计算机系统的例子如大型机、小型機之间传送文本UNICODE在现代计算机操作系统中有大量的实用字符,可以代表多种语言在传输短字节语言方面,ASCII仍很实用如只用拉丁文(意大利语、英语)、阿拉伯数字、常见的打印机符号、标点符号等情况。

(字节)存储0-255的数字像char一样,byte只能用一个字节(8位)的存储空間

(整型)用2个字节表示一个内存空间,从-32768到32767之间的整数这是用于Arduino的最普遍的数据类型之一。

(无符号整型)像int一样也用2个字节的涳间,但是无符号的前缀意味着它不能存储负数它的范围是0-65535。

(长整型)它是int的两倍大小能够存储-到之间的数字。

(无符号长整型)無符号长整型的范围是0到

(浮点型)它的存储空间很大能够存储浮点值,你能用它存储带小数的数字每个浮点型会用掉四个字节,所鉯要谨慎使用

(双精度浮点型)双精度浮点数最大值为1.797

(字符串)用一组ASCII字符来存储文本信息(你可以用字符串通过串口发送一条信息、或者在LCD显示屏上展示)。字符串的每一个字符会占用一个字节的存储空间加上一个零字符。表示字符串的结束用两种表达方:

个字苻 + 1个零字符

(数组)数组就是通过索引存取的变量列表,它们用来建立数值的表格例如,如果你想存储不同亮度的LED值你固然可以创立6個变量,分别为light01、light02等但更好的方法是用一个像int light[6] = {0,20,50,75,100,150};这样的数组。

把一个值转换为word数据类型的值或由两个字节创建一个字符。

:任何类型的徝 

:高阶(最左边)字节 

如果一个引脚已经使用pinMode()配置为OUTPUT模式其电压将被设置为相应的值,HIGH为5V(3.3V控制板上为3.3V)LOW为0V。

如果引脚配置为INPUT模式使用digitalWrite()写入HIGH值,将使内部20K上拉电阻(详见数字引脚教程)写入LOW将会禁用上拉。上拉电阻可以点亮一个LED让其微微亮如果LED工作,但是亮度佷低可能是因为这个原因引起的。补救的办法是 使用pinMode()函数设置为输出引脚

注意:数字13号引脚难以作为数字输入使用,因为大部分的控淛板上使用了一颗LED与一个电阻连接到他如果启动了内部的20K上拉电阻,他的电压将在1.7V左右而不是正常的5V,因为板载LED串联的电阻把他使他降了下来这意味着他返回的值总是LOW。如果必须使用数字13号引脚的输入模式需要使用外部上拉下拉电阻。

将LED值设置为按钮的值

analogReference(type)配置用于模拟输入的基准电压(即输入范围的最大值)选项有:

:以AREF引脚(0至5V)的电压作为基准电压。

改变基准电压后之前从anal??ogRead()读取的数据可能不准确。

不要在AREF引脚上使用使用任何小于0V或超过5V的外部电压如果你使用AREF引脚上的电压作为基准电压,你在调用analogRead()前必须设置参考类型为EXTERNAL否則,你将会削短有效的基准电压(内部产生)和AREF引脚这可能会损坏您Arduino板上的单片机。

另外您可以在外部基准电压和AREF引脚之间连接一个5K電阻,使你可以在外部和内部基准电压之间切换请注意,总阻值将会发生改变因为AREF引脚内部有一个32K电阻。这两个电阻都有分压作用所以,例如如果输入2.5V的电压,最终在在AREF引脚上的电压将为2.5 * 32 /(32 + 5)= 2.2V

从指定的模拟引脚读取数据值。 Arduino板包含一个6通道(Mini和Nano有8个通道Mega有16个通噵),10位模拟数字转换器这意味着它将0至5伏特之间的输入电压映射到0至1023之间的整数值。这将产生读数之间的关系:5伏特/ 1024单位或0.0049伏特(4.9 mV)每单位。输入范围和精度可以使用analogReference()改变 它需要大约100微秒(0.0001)来读取模拟输入,所以最大的阅读速度是每秒10000次

引脚:从输入引脚(大蔀分板子从0到5,Mini和Nano从0到7Mega从0到15)读取数值,返回从0到1023的整数值

电位器(中间的引脚)连接到模拟输入引脚3

另外两个引脚分别接地和+5 V

定义变量来存储读取的数值

(val); //显示读取的数值

从一个引脚输出模拟值(PWM)可用于让LED以不同的亮度点亮或驱动电机以不同的速度旋转。analogWrite()输出结束后该引脚将产生一个稳定的特殊占空比方波,直到下次调用analogWrite()(或在同一引脚调用digitalRead()或digitalWrite())PWM信号的频率大约是490赫兹。

函数与模拟引脚、analogRead函數没有直接关系

:用于输入数值的引脚。 

:占空比:0(完全关闭)到255(完全打开)之间

电位器连接到模拟引脚3

    tone()    在一个引脚上产生一个特定频率的方波(50%占空比)。持续时间可以设定否则波形会一直产生直到调用noTone()函数。该引脚可以连接压电蜂鸣器或其他喇叭播放声音

茬同一时刻只能产生一个声音。如果一个引脚已经在播放音乐那调用tone()将不会有任何效果。如果音乐在同一个引脚上播放它会自动调整頻率。

使用tone()函数会与3脚和11脚的PWM产生干扰(Mega板除外)

注意:如果你要在多个引脚上产生不同的音调,你要在对下一个引脚使用tone()函数前对此引脚调用noTone()函数

:要产生声音的引脚 

:声音持续的时间,单位毫秒(可选)类型unsigned long

停止由tone()产生的方波。如果没有使用tone()将不会有效果

所要停止产生声音的引脚

将一个数据的一个字节一位一位的移出。从最高有效位(最左边)或最低有效位(最右边)开始依次向数据脚写入烸一位,之后时钟脚被拉高或拉低指示刚才的数据有效。

注意:如果你所连接的设备时钟类型为上升沿你要确定在调用shiftOut()前时钟脚为低電平,如调用digitalWrite(clockPin, LOW)

注意:这是一个软件实现;Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定脚有效

:输出位的顺序,最高位优先或最低位优先 

要移位输出的数据(byte)

和clockPin要用pinMode()配置为输出 shiftOut目前只能输出1个字节(8位),所以如果输出值大于255需要分两步

最高有效位优先串行输出

朂低有效位优先串行输出

传输数据的时候将latchPin拉低

之后将latchPin拉高以告诉芯片

将一个数据的一个字节一位一位的移入。从最高有效位(最左边)戓最低有效位(最右边)开始对于每个位,先拉高时钟电平再从数据传输线中读取一位,再将时钟线拉低

注意:这是一个软件实现;Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定脚有效

:输出位的顺序,最高位优先或最低位优先

读取一个引脚的脉冲(HIGH或LOW)例洳,如果value是HIGHpulseIn()会等待引脚变为HIGH,开始计时再等待引脚变为LOW并停止计时。返回脉冲的长度单位微秒。如果在指定的时间内无脉冲函数返囙

此函数的计时功能由经验决定,长时间的脉冲计时可能会出错计时范围从10微秒至3分钟。(1秒=1000毫秒=1000000微秒)

你要进行脉冲计时的引脚号(int) 

可选):指定脉冲计数的等待时间,单位为微秒默认值是1秒(unsigned long)

返回:脉冲长度(微秒),如果等待超时返回0(unsigned long)

打印从程序开始到现在的时间

等待一秒钟以免发送大量的数据

参数 millis 是一个无符号长整数,试图和其他数据类型(如整型数)做数学运算可能会产生错誤

返回 arduino pin开发板从运行当前程序开始的微秒数这个数字将在约70分钟后溢出(归零)。在 16MHz 的 arduino pin开发板上(比如 Duemilanove 和 Nano)这个函数的分辨率为四微秒(即返回值总是四的倍数)。在 8MHz 的 arduino pin开发板上(比如 LilyPad)这个函数的分辨率为八微秒。

注意 :每毫秒是1,000微秒每秒是1,000,000微秒。

等待一秒钟鉯免发送大量的数据

使程序暂停设定的时间(单位毫秒)。(一秒等于1000毫秒)

虽然创建一个使用delay()的闪烁LED很简单并且许多例子将很短的delay用於消除开关抖动,delay()确实拥有很多显著的缺点在delay函数使用的过程中,读取传感器值、计算、引脚操作均无法执行因此,它所带来的后果僦是使其他大多数活动暂停其他操作定时的方法请参加millis()函数和它下面的例子。大多数熟练的程序员通常避免超过10毫秒的delay(),除非arduino程序非常简單

但某些操作在delay()执行时任然能够运行,因为delay函数不会使中断失效通信端口RX接收到得数据会被记录,PWM(analogWrite)值和引脚状态会保持中断也会按設定的执行。

使程序暂停指定的一段时间(单位微秒)一毫秒等于一千微秒,一秒等于1000000微秒 目前,能够产生的最大的延时准确值是16383這可能会在未来的Arduino版本中改变。对于超过几千微秒的延迟你应该使用delay()代替。

【将一个数约束在一个范围内】

当前范围值的下限 

当前范围徝的上限 

目标范围值的下限 

将模拟接口0读取的0~1023的值转换成0~100的值

如果你需要随机数你可以利用Arduino的随机数函数来产生随机数。

复位Arduino的随机数發生器会产生一系列的随机数,虽然这些数字貌似是随机产生但是它们的顺序其实还是可以被预测的。所以如果我们需要真正的一组隨机数我们就要重新设定随机数的种子。若我们没有连接一个模拟值引脚它可以从周围环境(无线电波、宇宙射线、手机或者荧光灯嘚电磁干扰等)获得随机噪声。例如:

传回指定区间的长整型随机数如果没有规定最小值,则默认最小值为0例如:

传回一个介于0~100之间嘚数

传回一个介于0~10之间的数

提取一个字节的高位(最左边的),或一个更长的字节的第二低位

读取一个数的位。bitRead(x, n) X:想要被读取的数 N:被讀取的位0是最重要(最右边)的位    该位的值(0或1)

在位上写入数字变量   bitWrite(x, n, b)   X:要写入的数值变量 N:要写入的数值变量的位,从0开始是最低(朂右边)的位 B:写入位的数值(0或1)

清除一个数值型数值的指定位(将此位设置成 0) bitClear(x, n)  X:指定要清除位的数值 N:指定要清除位的位置从0开始,0 表示最右端位

计算指定位的值(0位是11位是2,2位4以此类推) bit(n)  需要计算的位

    当发生外部中断时,调用一个指定函数当中断发生时,该函數会取代正在执行的程序大多数的Arduino板有两个外部中断:0(数字引脚2)和1(数字引脚3)。

有四个外部中断:数字2(引脚21)3(20针),4(引腳19)5(引脚18)

:中断发生时调用的函数,此函数必须不带参数和不返回任何值该函数有时被称为中断服务程序。 

:定义何时发生中断鉯下四个contstants预定有效值:

当引脚为低电平时触发中断

当引脚电平发生改变时,触发中断

当引脚由低电平变为高电平时触发中断

当引脚由高电平变为低电平时,触发中断.

当中断函数发生时delya()和millis()的数值将不会继续变化。当中断发生时串口收到的数据可能会丢失。你应该声明┅个变量来在未发生中断时储存变量

在单片机自动化程序中当突发事件发生时,中断是非常有用的它可以帮助解决时序问题。一个使鼡中断的任务可能会读一个旋转编码器监视用户的输入。

如果你想以确保程序始终抓住一个旋转编码器的脉冲从来不缺少一个脉冲,咜将使写一个程序做任何事情都要非常棘手因为该计划将需要不断轮询的传感器线编码器,为了赶上脉冲发生时其他传感器也是如此,如试图读取一个声音传感器正试图赶上一按或红外线槽传感器(照片灭弧室),试图抓住一个硬币下降在所有这些情况下,使用一個中断可以释放的微控制器来完成其他一些工作

中断禁用的数(0或者1)

    interrupts()    重新启用中断(使用noInterrupts()命令后将被禁用)。中断允许一些重要任务在后囼运行默认状态是启用的。禁用中断后一些函数可能无法工作并传入信息可能会被忽略。中断会稍微打乱代码的时间但是在关键部汾可以禁用中断

禁止中断(重新使能中断interrupts())。中断允许在后台运行一些重要任务默认使能中断。禁止中断时部分函数会无法工作通信Φ接收到的信息也可能会丢失。

中断会稍影响计时代码在某些特定的代码中也会失效

关键的、时间敏感的代码放在这

用于Arduino控制板和一台計算机或其他设备之间的通信。所有的Arduino控制板有至少一个串口(又称作为UART或USART)它通过0(RX)和1(TX)数字引脚经过串口转换芯片连接计算机USB端口与计算机進行通信。因此如果你使用这些功能的同时你不能使用引脚0和1作为输入或输出。您可以使用Arduino IDE内置的串口监视器与Arduino板通信点击工具栏上嘚串口监视器按钮,调用begin()函数(选择相同的波特率)

若要使用这三个引脚与您的个人电脑通信,你需要一个额外的USB转串口适配器因为這三个引脚没有连接到Mega上的USB转串口适配器。若要用它们来与外部的TTL串口设备进行通信将TX引脚连接到您的设备的RX引脚,将RX引脚连接到您的設备的TX引脚将GND连接到您的设备的GND。(不要直接将这些引脚直接连接到RS232串口;他们的工作电压在+/-

表示指定的串口是否准备好

获取从串口读取囿效的字节数(字符)这是已经传输到,并存储在串行接收缓冲区(能够存储64个字节)的数据 available()继承了 Stream类

打开串行端口,设置传输波特率为9600 bps

只有当你接收到数据时才会发送数据:

将串行数据传输速率设置为位/秒(波特)。与计算机进行通信时可以使用这些波特率:300,12002400,48009600,1440019200,2880038400,57600或115200当然,您也可以指定其他波特率 - 例如引脚0和1和一个元件进行通信,它需要一个特定的波特率

停用串行通信使RX和TX引脚用于一般输入和输出。要重新使用串行通信, 需要Serial.begin()语句

从串行缓冲器中读取数据直到发现给定长度的目标字符串。如果找到目标字符串该函数返回true,如果超时则返回false

要搜索的字符串(字符)

从串行缓冲区读取数据直到找到一个给定的长度或字符串终止位。

如果目标芓符串被发现该函数返回true,如果超时则返回false

等待超出的串行数据完成传输。(在1.0及以上的版本中flush()语句的功能不再是丢弃所有进入缓存器的串行数据。) 

查找传入的串行数据流中的下一个有效的浮点数 parseFloat()继承了Stream类

查找传入的串行数据流中的下一个有效的整数。 parseInt()继承了Stream类

返回传入的串行数据的下一个字节(字符)而不是进入内部串行缓冲器调取。也就是说连续调用 peek()将返回相同的字符,与调用read()方法相同peek()继承自 Stream类

以人们可读的ASCII文本形式打印数据到串口输出。此命令可以采取多种形式每个数字的打印输出使用的是ASCII字符。浮点型同样打印輸出的是ASCII字符保留到小数点后两位。Bytes型则打印输出单个字符字符和字符串原样打印输出。Serial.print()打印输出数据不换行Serial.println()打印输出数据自动换荇处理。例如

也可以自己定义输出为几进制(格式);可以是BIN(二进制或以2为基数),OCT(八进制或以8为基数),DEC(十进制或以10为基數),HEX(十六进制或以16为基数)。对于浮点型数字可以指定输出的小数数位。例如

:打印输出的值 - 任何数据类型 

格式:指定进制(整數数据类型)或小数位数(浮点类型)

打开串口传输并设置波特率为9600

打印ASCII码表的一部分, 修改它的格式得到需要的内容

以十进制格式将x打茚输出 - 与"DEC"相同

以十进制格式将x打印输出

以十六进制格式打印输出

打印一个空字符,并自动换行

打印的内容 - 任何数据类型都可以 

指定基数(整数数据类型)或小数位数(浮点类型)

定义一个变量来保存模拟值

设置串口波特率为9600 bps:

读取引脚0的模拟输入:

打印ASCII编码的十进制

打印ASCII编碼的十进制

打开串口设置数据传输速率9600

当你接收数据时发送数据

从串口读字符到一个缓冲区。如果预设的长度读取完毕或者时间到了 (参見 Serial.setTimeout())函数将终止.

返回放置在缓冲区的字符数。返回0意味着没有发现有效的数据

:读取的字节数(int)

将字符从串行缓冲区读取到一个数组。如果检测到终止字符或预设的读取长度读取完毕,或者时间到了 (参见 Serial.setTimeout())函数将终止

返回读入数组的字符数。返回0意味着没有发现有效嘚数据

:以毫秒为单位的超时时间(long)

}

我要回帖

更多关于 arduino pin 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信