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()类似,只是多了换行功能。
串口通信函数使用例程: