欢迎来到天天文库
浏览记录
ID:51644547
大小:152.00 KB
页数:19页
时间:2020-03-27
《《串行口通信编程》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章串行口通信编程目前主流的PC机尤其是笔记本电脑,串口已经很少见到了,但是串口却是嵌入式开发中最常用的硬件接口。串口有驱动简单的特点,几乎所有的嵌入式开发板和设备都提供了串口。在嵌入式开发中,串口通常用来打印设备状态信息和命令行,甚至于有的时候只能通过串口得到设备状态(如设备刚启动的时候)。本章介绍串口基本的软硬件知识,以及如何在应用程序中利用串口收发数据,主要内容如下:串口硬件介绍常见的串口协议串口应用程序入门利用串口通过手机发送短信10.1串口介绍在计算机领域,串口可以说是历史悠久而且应用
2、广泛。从最早的PC机到目前工业控制领域广泛应用的工业计算机、以及嵌入式系统等,都提供了串口。串口有功能简单、成本低、便于连接等优点,是许多嵌入式系统必备接口之一。10.1.1什么是串口串口是串行接口(SerialPort)的简称,是计算机一种常用的接口,由于连线少、通讯控制简单而得到广泛的使用。串口有几种标准,常见的一种称作RS232接口的标准是在1970年由美国电子工业协会(EIA)和几家计算机厂商共同制定的。RS232标准应用广泛,其全称是“数据终端设备(DTE)和数据通讯设备(DCE)串行二进
3、制数据交换接口”,该标准定义了串口的电气接口特性和各种信号电平等。标准串口协议支持的最高数据传输率是115Kbps。一些改进的串口控制器支持更高甚至460Kbps的数据传输率,如增强型串口ESP(EnhancedSerialPort)和超级增强型串口SuperESP。RS232串口使用D型数据接口,最初有9针和25针两种连接方式。随着计算机技术的不断进步,25针的串口连接方式已经淘汰,目前所有的RS232串口都使用9针连接方式。10.1.2串口工作原理串口通过直接连接在两台设备间的线发送和接收数据,
4、两台设备通信最少需要三根线(发送数据、接收数据和接地)才可以通信。以最常见的RS232串口为例,通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口。如果传输距离远,可以通过调制解调器(MODEM)传输。因为串口设备工作频率低且容易受到干扰,远距离传输会造成数据丢失。10.1.2串口工作原理针号功能说明缩写1数据载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备DTR5信号地GND6数据设备准备好DSR7请求发送RTS8清除发送CTS9振铃指示BELL10.1.3串口流量控制
5、常见的串口工具软件都提供了RTS/CTS与XON/XOFF选项。这两个选项对应RS232串口的两种流量控制方式。串口流量控制主要应用于调制解调器的数据通讯,对于普通RS232串口编程,了解一点流量控制方面的知识是有好处的。1.什么是串口流量控制2.硬件流量控制3.软件流量控制10.2开发串口应用程序Linux操作系统对串行口提供了很好的支持。Linux系统中串口设备被当做一个字符设备(第22章详细讲解)处理。PC机安装Linux系统后在/dev目录下有若干个ttySx(x代表从0开始的正整数)设备文
6、件。ttyS0对应第一个串口,也就是Windows系统下的串口设备COM1,以此类推。10.2.1操作串口需要用到的头文件在Linux系统操作串口需要用到以下头文件:#include#include#include#include#include#include#include#include10.2.2串口操作方法操作串口的方法与文件
7、类似,可以使用与文件操作相同的方法打开和关闭串口、读写以及使用select()函数监听串口。不同的是,串口是个字符设备,不能使用fseek()之类的文件定位函数。此外,串口是个硬件设备,还可以设置串口设备的属性。10.2.3串口属性设置10.1节讲解串口的基本知识,提到串口的基本属性包括波特率、数据位、停止位和奇偶校验等参数。Linux系统通常使用termios结构存储串口参数,该结构在termios.h头文件定义如下:structtermios{unsignedshortc_iflag;unsig
8、nedshortc_oflag;unsignedshortc_cflag;unsignedshortc_lflag;unsignedcharc_line;unsignedcharc_cc[NCC];};10.2.4与Windows串口终端通信本节给出一个和Windows串口终端通信的例子。两台PC通过串口相连,其中一台PC运行Windows系统,通过XShell软件(5.5.3节介绍)打开COM1;另一台PC运行Linux系统。10.3串口应用实例-手机短信发送手机是
此文档下载收益归作者所有