Arduino项目开发:音乐创意
上QQ阅读APP看书,第一时间看更新

1.4.7 串行通信函数

图1-26 串行通信接口

串行通信接口(serial interface)使数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信的接口,如图1-26所示。

串行通信接口出现在1980年前后,数据传输率是115~230kb/s。串行通信接口出现的初期是为了实现计算机外设的通信,初期串口一般用来连接鼠标和外置调制解调器、老式摄像头和写字板等设备。

由于串行通信接口(COM)不支持热插拔及传输速率较低,因此目前部分新主板和大部分便携式计算机已开始取消该接口。串口多用于工控和测量设备以及部分通信设备中,包括各种传感器采集装置,GPS信号采集装置,多个单片机通信系统,门禁刷卡系统的数据传输,机械手控制和操纵面板控制直流电机等,特别是广泛应用于低速数据传输的工程应用。主要函数如下:

1. Serial.begin()

该函数用于设置串口的波特率,即数据的传输速率,每秒钟传输的符号个数。一般的波特率有9600、19 200、57 600、115 200等。

例如:Serial.begin(57 600);

2. Serial.available()

该函数用来判断串口是否收到数据,函数的返回值为int型,不带参数。

3. Serial.read()

该函数不带参数,只将串口数据读入。返回值为串口数据,int型。

4. Serial.print()

该函数向串口发数据。可以发送变量,也可以发送字符串。

例1:Serial.print("today is good");

例2:Serial.print(x,DEC);以10进制发送变量x

例3:Serial.print(x,HEX);以16进制发送变量x

5. Serial.println()

该函数与Serial.print()类似,只是多了换行功能。

串口通信函数使用例程: