串行口通信编程.ppt

上传人:小飞机 文档编号:6238602 上传时间:2023-10-08 格式:PPT 页数:19 大小:249.99KB
返回 下载 相关 举报
串行口通信编程.ppt_第1页
第1页 / 共19页
串行口通信编程.ppt_第2页
第2页 / 共19页
串行口通信编程.ppt_第3页
第3页 / 共19页
串行口通信编程.ppt_第4页
第4页 / 共19页
串行口通信编程.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《串行口通信编程.ppt》由会员分享,可在线阅读,更多相关《串行口通信编程.ppt(19页珍藏版)》请在三一办公上搜索。

1、第10章 串行口通信编程,目前主流的PC机尤其是笔记本电脑,串口已经很少见到了,但是串口却是嵌入式开发中最常用的硬件接口。串口有驱动简单的特点,几乎所有的嵌入式开发板和设备都提供了串口。在嵌入式开发中,串口通常用来打印设备状态信息和命令行,甚至于有的时候只能通过串口得到设备状态(如设备刚启动的时候)。本章介绍串口基本的软硬件知识,以及如何在应用程序中利用串口收发数据,主要内容如下:串口硬件介绍常见的串口协议串口应用程序入门利用串口通过手机发送短信,10.1 串口介绍,在计算机领域,串口可以说是历史悠久而且应用广泛。从最早的PC机到目前工业控制领域广泛应用的工业计算机、以及嵌入式系统等,都提供了

2、串口。串口有功能简单、成本低、便于连接等优点,是许多嵌入式系统必备接口之一。,10.1.1 什么是串口,串口是串行接口(Serial Port)的简称,是计算机一种常用的接口,由于连线少、通讯控制简单而得到广泛的使用。串口有几种标准,常见的一种称作RS232接口的标准是在1970年由美国电子工业协会(EIA)和几家计算机厂商共同制定的。RS232标准应用广泛,其全称是“数据终端设备(DTE)和数据通讯设备(DCE)串行二进制数据交换接口”,该标准定义了串口的电气接口特性和各种信号电平等。标准串口协议支持的最高数据传输率是115Kbps。一些改进的串口控制器支持更高甚至460Kbps的数据传输率

3、,如增强型串口ESP(Enhanced Serial Port)和超级增强型串口Super ESP。RS232串口使用D型数据接口,最初有9针和25针两种连接方式。随着计算机技术的不断进步,25针的串口连接方式已经淘汰,目前所有的RS232串口都使用9针连接方式。,10.1.2 串口工作原理,串口通过直接连接在两台设备间的线发送和接收数据,两台设备通信最少需要三根线(发送数据、接收数据和接地)才可以通信。以最常见的RS232串口为例,通信距离较近时(12m),可以用电缆线直接连接标准RS232端口。如果传输距离远,可以通过调制解调器(MODEM)传输。因为串口设备工作频率低且容易受到干扰,远距

4、离传输会造成数据丢失。,10.1.2 串口工作原理,10.1.3 串口流量控制,常见的串口工具软件都提供了RTS/CTS与XON/XOFF选项。这两个选项对应RS232串口的两种流量控制方式。串口流量控制主要应用于调制解调器的数据通讯,对于普通RS232串口编程,了解一点流量控制方面的知识是有好处的。1.什么是串口流量控制2.硬件流量控制3.软件流量控制,10.2 开发串口应用程序,Linux操作系统对串行口提供了很好的支持。Linux系统中串口设备被当做一个字符设备(第22章详细讲解)处理。PC机安装Linux系统后在/dev目录下有若干个ttySx(x代表从0开始的正整数)设备文件。tty

5、S0对应第一个串口,也就是Windows系统下的串口设备COM1,以此类推。,10.2.1 操作串口需要用到的头文件,在Linux系统操作串口需要用到以下头文件:#include#include#include#include#include#include#include#include,10.2.2 串口操作方法,操作串口的方法与文件类似,可以使用与文件操作相同的方法打开和关闭串口、读写以及使用select()函数监听串口。不同的是,串口是个字符设备,不能使用fseek()之类的文件定位函数。此外,串口是个硬件设备,还可以设置串口设备的属性。,10.2.3 串口属性设置,10.1节讲解串口

6、的基本知识,提到串口的基本属性包括波特率、数据位、停止位和奇偶校验等参数。Linux系统通常使用termios结构存储串口参数,该结构在termios.h头文件定义如下:struct termiosunsigned short c_iflag;unsigned short c_oflag;unsigned short c_cflag;unsigned short c_lflag;unsigned char c_line;unsigned char c_ccNCC;,10.2.4 与Windows串口终端通信,本节给出一个和Windows串口终端通信的例子。两台PC通过串口相连,其中一台PC运行

7、Windows系统,通过XShell软件(节介绍)打开COM1;另一台PC运行Linux系统。,10.3 串口应用实例-手机短信发送,手机是目前使用最广泛的通信设备之一,许多手机都提供了与PC互联的功能,其中最重要的一个接口就是串口(一些提供USB接口的手机指令收发是把USB设备虚拟一个串口设备进行通信的)。在GSM(全球数字移动电话网络)协议中规定了一组AT指令用于手机与其他设备通信,其中提供了发送短信的方法。本节讲解如何利用手机发送短信并且给出了实例。,10.3.1 PC与手机连接发送短信的物理结构,在进行本章的试验之前需要建立一个手机和PC机之间的连接。,10.3.2 AT指令介绍,AT

8、指令集是GSM网络中网络设备之间发送控制信息的标准指令集。GSM网络终端设备(TE)或者数据终端设备(DTE)可以向终端适配器(TA)发送AT指令。使用AT指令,用户可以控制DTE发送短信息、呼叫电话、读写电话本、发送传真等。AT指令由手机制造商诺基亚、爱立信、摩托罗拉等共同研制,其中包括了短消息(SMS)控制功能。对SMS的控制有Block模式、文本模式和协议数据(PDU)模式三种。目前主要使用PDU模式,其它两种模式逐步被淘汰。,10.3.3 GSM AT指令集,GSM07.05协议中定义了一组与SMS(短消息)有关的指令。,10.3.4 PDU编码方式,通常发送短信使用PDU模式,在GS

9、M协议中对PDU模式发送短信的数据做了规范。使用PDU模式发送短信需要接收号码、短消息中心号码和短消息内容三个数据。这三个数据的定义方法如下:1接收号码生成方法2短消息中心号码生成方法3短消息内容生成方法4组合成完整的消息格式,10.3.5 建立与手机的连接,PC与手机通过串口进行连接,早期的手机提供了数据线。手机串口数据线一端连接到手机上,另一端可以直接连接到PC的串口,这种方式不需要额外的驱动。最近几年生产的手机大多数都提供了USB接口,通过手机的USB驱动程序在手机与PC之间建立一个虚拟的串口设备。通常手机厂商提供的是适合Windows系统的驱动程序,Linux系统可以使用一个名为Gno

10、kii的手机驱动软件。本节以NOKIA6300手机为例,讲解在Linux下如何对手机编程发送短消息。提示:NOKIA6300使用S40系统,提供USB接口,其他使用类似系统的手机也可以采用采用类似的方法驱动手机。NOKIA早期的有些手机(比如NOKIA1110)提供了串口数据线,可以直接操作。,10.3.6 使用AT指令发送短信,节讲解如何生成PDU模式的数据,在生成符合PDU模式的数据后,可以通过AT+CMGF指令和AT+CMGS指令发送一条短信。以节的内容为例,使用AT指令发送短消息过程如下:AT+CMGF=0OKAT+CMGS=msg_lenentire_msg,10.4 小结,本章讲解串口组成和工作原理、编程方法,并在最后给出一个操作手机发送短信的实例。串口的工作原理简单,是两台计算机设备之间传递数据的简单方式。串口编程入门比较容易,读者可以在自己的计算机上进行串口编程试验。第11章介绍Linux嵌入式系统的图形界面开发。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号