Arduino与计算机通信所使用的USB接口就是下载程序时所用的USB接口,当Arduino与其他设备通信时,需要用到“Serial”系列函数,所以我们要对其有所了解,下面介绍几个常“Serial”函数。
1、Serial.begin()—设置串行每秒传输数据的速率(波特率)。在同计算机通讯时,使用下面这些值:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600或 115200。你也可以在任何时候使用其它的值,比如,与0号或1号接口通信就要求特殊的波特率。
2、Serial.print()—从串行端口输出数据。
3、Serial.println()—从串行端口输出数据,跟随一个回车(ASCII 13, 或 '\r')和一个换行符(ASCII 10, 或 '\n')。这个函数所取得的值与Serial.print()一样。
4、Serial.read()—读取持续输入的数据。
注意观察Arduino板子上的TX/RX指示灯
TX(T:Transmitter 发送)表示为Arduino发送指令信息给计算机,RX(R:Receive 接收)表示为Arduino接收来自计算机的指令信息,当下载程序或与计算机通信时,这两个指示灯就会闪烁。
下面我来用实例说明一下,我们就来编写一个简单的小程序让计算机显示字符串“Hello World”。并且让一个LED配合一下,小灯闪烁一下就显示一条“Hello World”这样循环进行。
程序如下
注意观察TX与RX指示灯和pin13口LED的闪烁情况!
那么再来编写一个用计算机给Arduino发送指令的小程序吧,当我们发送"a",LED就会闪烁一下。这是因为我将a赋值给val,Arduino接收到来自计算机的信号后,运行到Serial.read()指令就会将读取的数值赋值给val,经if语句进行判断,如果为真将执行if{ }内指令,所以LED点亮一会就会熄灭,这样应该明白了吧。
输入a再看看pin13接口的LED吧!