串口基本常识
串口通信的原理
串口通信的原理1. 什么是串口通信串口通信是计算机与外部设备之间进行数据传输的一种方式。
它通过串行传输数据,即一位接着一位地传输,与并行传输相对。
串口通信常用于连接计算机与外围设备,如打印机、调制解调器、传感器等。
2. 串口通信的基本原理串口通信的基本原理是通过发送和接收数据来实现信息的交流。
串口通信需要两个主要的组件:发送端和接收端。
发送端将要发送的数据转换为电信号,通过串口线传输给接收端,接收端将接收到的电信号转换为数据。
串口通信的基本原理包括以下几个方面:2.1 串口线串口通信使用的是串口线(Serial Cable),它是一根将发送端和接收端连接起来的线缆。
串口线中包含多个引脚,其中最常用的是发送引脚(TX)和接收引脚(RX),它们分别用于发送和接收数据。
2.2 串口通信协议串口通信需要使用一种协议来规定数据的传输格式和规则。
常见的串口通信协议有RS-232、RS-485等。
这些协议规定了数据的位数、校验方式、波特率等参数。
发送端和接收端必须使用相同的协议才能正常进行通信。
2.3 数据帧数据在串口通信中以数据帧的形式进行传输。
数据帧包括起始位、数据位、校验位和停止位等组成部分。
起始位用于标识数据帧的开始,停止位用于标识数据帧的结束,数据位用于存放传输的数据,校验位用于检测数据的正确性。
2.4 波特率波特率(Baud Rate)是衡量串口通信速度的单位,表示每秒传输的位数。
波特率越高,传输速度越快。
发送端和接收端必须使用相同的波特率才能正常进行通信。
3. 串口通信的工作流程串口通信的工作流程包括以下几个步骤:3.1 配置串口参数在进行串口通信之前,需要配置串口的参数,包括波特率、数据位、停止位、校验位等。
发送端和接收端必须使用相同的参数才能正常进行通信。
3.2 发送数据发送端将要发送的数据转换为电信号,通过串口线发送给接收端。
发送数据时,需要按照数据帧的格式进行封装,包括起始位、数据位、校验位和停止位。
串口通信的基本知识
串口通信的基本知识本文介绍了串口通讯的基本概念、数据格式、通讯方式、典型的串口通讯标准等内容。
串口通讯,RS232,RS485,停止位,奇校验,偶校验1 串口通讯串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。
串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
2 串口通讯的数据格式一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。
实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。
3 通讯方式单工模式(Simplex Communication)的数据传输是单向的。
通信双方中,一方固定为发送端,一方则固定为接收端。
信息只能沿一个方向传输,使用一根传输线。
半双工模式(Half Duplex)通信使用同一根传输线,既可以发送数据又可以接收数据,但不能同时进行发送和接收。
数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。
因此半双工模式既可以使用一条数据线,也可以使用两条数据线。
半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。
因为有切换,所以会产生时间延迟,信息传输效率低些。
全双工模式(Full Duplex)通信允许数据同时在两个方向上传输。
因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
在全双工模式中,每一端都有发送器和接收器,有两条传输线,信息传输效率高。
串口的工作原理
串口的工作原理
串口是用于数据传输的通信接口,它通过传递一个字节序列来完成数据的发送和接收。
串口的工作原理主要包括以下几个方面:
1. 传输格式:串口通信采用串行传输方式,即按照比特顺序逐个传输数据位。
常见的传输格式有起始位、数据位、奇偶校验位和停止位组成。
起始位用于同步接收端和发送端的时钟信号,数据位用于传递实际的数据,奇偶校验位用于检测传输过程中发生的位错误,停止位用于表示数据传输结束。
通过这些格式要求可以保证数据的正确传输和接收。
2. 波特率:串口通信采用一种称为波特率(Baud Rate)的指
标来衡量数据传输速率,即每秒传输的比特数。
常见的波特率有9600 bps、115200 bps等。
发送和接收端在通信之前必须事
先约定一个相同的波特率。
3. 缓冲区:串口通信中,发送和接收的数据通过缓冲区进行中转。
发送端将待发送的数据存储在发送缓冲区中,然后根据波特率逐个比特进行数据的发送。
接收端会不断读取接收缓冲区中的数据,然后进行后续的处理。
4. 握手协议:为了保证数据的可靠传输,串口通信中还有一些握手协议,如RTS/CTS(请求发送/清除发送)和DTR/DSR (数据终端就绪/数据设备就绪)。
通过这些握手信号,发送
端和接收端可以进行数据发送的控制和同步。
5. 数据传输协议:串口通信中的数据传输可以采用不同的协议,如RS-232、RS-485等。
这些协议规定了数据传输的电气特性、物理接口和通信规范。
总之,串口通过比特连续传输实现数据的发送和接收,通过传输格式、波特率、缓冲区、握手协议和数据传输协议等机制保证数据的可靠传输和接收。
9串口定义
9串口定义1. 串口简介串口(Serial Port),也称为COM口,是计算机与外部设备进行数据传输的一种通信接口。
它是一种以串行方式传输数据的接口,与并行接口相对。
串口通过将数据逐位地传输,可以实现长距离传输和多设备连接。
2. 串口的定义串口定义了一组规范,包括数据传输的格式、通信协议、信号电平等。
在计算机领域,常用的串口定义包括RS-232、RS-485、USB等。
2.1 RS-232RS-232是一种常用的串口定义,它定义了串口的物理接口和电气特性。
RS-232接口使用DB-9或DB-25连接器,支持最高传输速率为115200bps。
RS-232接口常用于计算机与调制解调器、打印机等设备之间的连接。
2.2 RS-485RS-485是一种多点通信的串口定义,它支持多个设备在同一条总线上进行通信。
RS-485接口使用两根信号线进行数据传输,可以实现长距离传输和多设备连接。
RS-485接口常用于工业自动化领域,如PLC、传感器等设备的连接。
2.3 USBUSB(Universal Serial Bus)是一种通用串口定义,它支持热插拔和高速数据传输。
USB接口使用Type-A、Type-B、Micro-USB、USB-C等连接器,可以连接各种外部设备,如鼠标、键盘、摄像头等。
USB接口在计算机领域得到广泛应用。
3. 串口的引脚定义串口的引脚定义根据不同的串口标准有所差异。
以RS-232为例,它使用DB-9连接器,共有9个引脚,分别是:1.DCD(Data Carrier Detect)2.RXD(Receive Data)3.TXD(Transmit Data)4.DTR(Data Terminal Ready)5.GND(Ground)6.DSR(Data Set Ready)7.RTS(Request to Send)8.CTS(Clear to Send)9.RI(Ring Indicator)4. 串口的数据传输格式串口的数据传输格式包括数据位、停止位、校验位等。
串口通讯原理
串口通讯原理串口通讯是一种常见的数据传输方式,它通过串行传输数据,将数据一位一位地发送和接收。
串口通讯常用于计算机与外部设备之间的数据传输,例如打印机、调制解调器、传感器等。
本文将介绍串口通讯的原理和工作方式。
一、串口通讯的基本原理串口通讯使用两根信号线进行数据传输,分别是发送线(TX)和接收线(RX)。
发送线用于将数据从发送端发送到接收端,接收线则用于将数据从接收端传输到发送端。
这两根信号线通过一对电缆连接在一起。
在串口通讯中,数据是按照一定的格式进行传输的。
常见的格式包括起始位、数据位、校验位和停止位。
起始位用于标识数据传输的开始,数据位用于传输实际的数据,校验位用于检测数据传输的准确性,停止位用于标译数据传输的结束。
二、串口通讯的工作方式串口通讯的工作方式可以分为同步和异步两种。
同步传输是指发送端和接收端的时钟信号保持同步,数据按照时钟信号的边沿进行传输。
异步传输则是指发送端和接收端的时钟信号不同步,数据通过起始位和停止位进行同步。
在同步传输中,发送端和接收端需要事先约定好时钟信号的频率和相位,以确保数据的准确传输。
而在异步传输中,发送端和接收端只需要约定好数据的格式,不需要同步时钟信号,因此更加灵活。
三、串口通讯的优缺点串口通讯具有以下优点:1. 简单易用:串口通讯的硬件接口简单,使用方便。
2. 跨平台性:串口通讯可以在不同的操作系统和设备之间进行数据传输。
3. 可靠性高:串口通讯的传输稳定可靠,不容易出错。
然而,串口通讯也存在一些缺点:1. 传输速率较低:串口通讯的传输速率相对较低,无法满足高速数据传输的需求。
2. 连接距离有限:串口通讯的连接距离较短,一般不超过几十米。
3. 线路复杂:串口通讯需要使用专用的串口线缆,线路较为复杂。
四、串口通讯的应用领域串口通讯广泛应用于各个领域,包括工业自动化、通信设备、医疗设备等。
例如,在工业自动化领域,串口通讯常用于PLC(可编程逻辑控制器)和外部设备之间的数据传输;在通信设备领域,串口通讯常用于调制解调器和计算机之间的数据传输。
一文看懂RS232、RS485、RS422、RJ45接口的区别和各自的应用
一文看懂RS232、RS485、RS422、RJ45接口的区别和各自的应用这三种通讯端口都是串口,在以下几个方面有区别:a.通讯距离RS232口最大通讯距离是15米,而RS422/485最大通讯距离是1200米。
b.所连接设备个RS232只能连接一个设备,而RS485可以连接多个设备。
c.端口的定义RS232是标准接口,为D形9针头,所连接设备的接口的信号定义是一样的,其信号定义如下:RS-232、RS-422与RS-485都是串行数据接口标准,RS-232是PC机与通信中应用最广泛的一种串行接口。
RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。
RS-232采取不平衡传输方式,即所谓单端通讯,而RJ45接口通常用于数据传输,最常见的应用为网卡接口。
RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。
所以RS-232适合本地设备之间的通信。
RS-422与RS-485串行接口标准:RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,在早期PC通信中比较常见,RS-422的最大传输距离为4000英尺,最大传输速率为10Mb/sRS-485与RS-422一样,其最大传输距离约为1219米,最大传输速率为10Mb/s。
平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
只有在很短的距离下才能获得最高速率传输。
一般100米长双绞线最大传输速率仅为1Mb/s。
这些异步串行通讯接口都应用于计算机测控系统中,RS232C 是美国电子工业协会正式布的串行总线标准,也是目前最常用的串行接口标准,用于实现计算机与计算机之间、计算机与外设之间的数据通讯。
RS232C串行接口总线适用于:设备之间的通讯距离不大于15米,传输速率最大为20kB/s。
一个完整的RS232C接口有22根线,采用标准的25芯插头座。
串口通信模块的信息和使用
串口通信模块的信息和使用一、串口通信模块的基本信息1.主要功能:串口通信模块主要用于实现串行数据的传输和接收。
它能将并行数据转为串行数据进行传输,并将接收到的串行数据再转为并行数据。
可通过串口控制器来控制通信的波特率、数据位、停止位和奇偶校验位等参数。
2.常见串口接口:如RS-232、RS-485、TTL等。
RS-232是最为常见的串口接口,一般用于个人电脑和外设的连接。
RS-485是用于多点通信的串口接口,可同时连接多个设备。
TTL串口是指以逻辑电平为3.3V或5V的串口接口,一般用于单片机和其他外设的连接。
3.通信原理:串口通信模块通过串口控制器来实现数据的传输和接收。
发送端将并行数据转为串行数据,并通过串口线将数据发送给接收端。
接收端接收到数据后,通过串口控制器将串行数据转为并行数据。
二、串口通信模块的使用1.硬件连接:首先,需要将串口通信模块连接到设备的串口接口上。
通常需要使用串口线将模块的发送引脚连接到设备的接收引脚,同时将模块的接收引脚连接到设备的发送引脚。
还需要连接好地线,以提供电路的共地参考。
3.编程实现:使用串口通信模块时,需要编写相应的程序来实现数据的传输和接收。
对于发送数据,可以通过向串口控制器的发送寄存器写入需要发送的数据。
对于接收数据,可以通过读取串口控制器的接收寄存器来获取接收到的数据。
4.错误处理:在使用串口通信模块时,可能会出现一些错误情况,如数据丢失、通信超时等。
为了确保数据的可靠传输,需要进行相应的错误处理,如重新发送数据、增加数据校验等。
5.调试工具:在开发和调试串口通信模块时,可以使用串口调试工具来进行测试和调试。
串口调试工具可以显示串口发送和接收的数据,并提供相应的调试功能,如发送数据、接收数据、改变通信参数等。
6.其他功能:除了基本的数据传输和接收,串口通信模块还可以实现其他功能,如流控制、中断处理等。
流控制可以通过软件或硬件的方式来实现,用于控制数据的传输速率。
计算机与设备之间的的交流,串口通讯接口RS232、RS485、RS485详解!
计算机与设备之间的的交流,串口通讯接口RS232、RS485、RS485详解!RS232、RS485和RS422基础知识一、RS232基础知识计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。
RS-232-C是美国电子工业协会EIA (Electronic Industry Association)制定的一种串行物理接口标准。
RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数,代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。
它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。
1、电气特性EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。
在TxD和RxD上:逻辑1(MARK)=-3V~-15V ,逻辑0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V~+15V信号无效(断开,OFF状态,负电压)=-3V~-15V根据设备供电电源的不同,+-5、+-10、+-12和+-15这样的电平都是可能的。
2、连接器的机械特性由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。
最近,8管脚的RJ-45型连接器变得越来越普遍,尽管它的管脚分配相差很大。
串口的概念
串口的概念串口(Serial Port)是一种计算机外部设备与计算机通信的接口,也可以称为串行接口或COM口。
串口是一种创建数据通信连接的接口,其特点是一次只能传输一个位元(bit)。
与之相对的是并行接口,可以同时传输多个位元。
串口主要用于计算机与外部设备之间的数据传输,可以连接各种设备,如打印机、调制解调器、终端等。
串口通信是一种逐位地进行数据传输的通信方式。
数据在串口中经过一系列的电气信号转换和协议处理后,可以在计算机和外部设备之间进行可靠的数据传输。
串口通信可以用于传输文本数据、图像数据、音频数据等各种类型的数据。
串口通信一般使用异步传输方式,即数据的发送和接收是不同步进行的。
发送端根据波特率(Baud rate)将数据转化为连续的电气信号,接收端通过检测电气信号的变化来还原数据。
波特率是指每秒钟传输的位元数量,常见的波特率有9600bps、115200bps等。
串口通信的传输速率相对较慢,但它具有以下几个优点:1. 简单:串口通信的接口较为简单,只需几根信号线即可实现数据传输。
2. 稳定:串口通信的电气信号转换较为稳定,不易受干扰。
3. 距离远:串口通信的传输距离较远,最远可达数百米。
4. 兼容性强:串口通信是一种标准接口,可以连接各种不同的设备。
串口通信的物理接口一般是DB9(9针)或DB25(25针)的D型插座,其中规定的引脚分为信号引脚和电源引脚。
常用的信号引脚有接地线、数据线(发送线和接收线)、流量控制线等。
电源引脚一般是供电使用。
在计算机中,串口通常使用RS-232C协议进行数据传输。
该协议规定了数据的电气特性(如电压范围)和数据帧的格式(如起始位、数据位、停止位等)。
除了RS-232C协议,还有一些其他的串口通信协议,如RS-422、RS-485等,它们具有不同的电气特性和传输距离。
在实际应用中,串口通信被广泛使用。
例如,打印机和计算机之间的数据传输就是通过串口进行的。
此外,一些传感器、控制器等外部设备也可以通过串口与计算机进行通信,以实现数据的采集和控制。
串口基本知识
串口基本知识一、什么是串口通讯?举个例子,人与人之间的沟通可通过书面文件,语音或视频来交换信息。
那么设备和计算机之间用来交换信息的桥梁是什么呢?那就是串口通讯。
串口通信是以串行数字二进制形式用不同方法交换数据的方式。
二、传输模式的分类传输模式可分为单工,半双工和全双工。
每种传输模式都有一个源(也称为发送器)和目的地(也称为接收器)。
在单工模式下,只有一个客户端(发送方或接收方一次处于活动状态)。
如果发送者发送,接收者只能接收。
例如:无线电和电视传输。
在半双工模式下,发送方和接收方都是活动的但不是一次,即如果发送方发送,接收方可以接收但不能发送。
比如互联网,如果客户端(电脑)发送网页请求,则Web服务器处理该应用程序并发回该信息。
在全双工模式下,发送方和接收方都可以同时发送和接收。
最常用的就是智能手机。
三、串行和并行通信之间的区别串行通信一次只发送一位,需要更少的I/ O线。
因此,占用更少的空间并且更能抵抗串扰。
串行通信的主要优点是整个嵌入式系统的成本变得便宜并且可以长距离传输信息。
串行传输用于DCE(数据通信设备)设备,如调制解调器。
并行通信一次发送一块数据(8,16或32位)。
因此,每个数据位都需要一个单独的物理I/ O线。
并行通信的优点是速度快,缺点是用了更多的I/O线。
并行传输用于PC(个人计算机),用于互连CPU (中央处理单元),RAM(随机存取存储器),调制解调器,音频,视频和网络硬件。
四、同步串行接口和异步串行接口为了有效地处理串行设备,时钟是主要来源。
每个串行设备的时钟信号不同,它分为同步协议和异步协议。
①同步串行接口同步串行接口上的所有设备都使用单CPU总线来共享时钟和数据,数据传输更快。
优点是波特率不会失配。
此外,接口组件需要更少的I / O线。
例如I2C,SPI和CAN等。
I2C协议I2C(内部集成电路)是一种双线双向协议,用于在同一总线上的不同设备之间交换数据。
I2c使用7位或10位地址,允许最多连接1024个设备。
串口通信 标准
串口通信标准串口通信(Serial Communication)是一种常用的数据传输方式,它通过串行方式逐位传输数据。
在串口通信中,数据在两个设备之间逐位传输,每个设备都有发送和接收数据的能力。
以下是串口通信的一些标准:1. RS-232:RS-232是一种常用的串口通信标准,由美国电子工业协会(EIA)制定。
它定义了数据传输的电压和信号线配置,以及数据传输速率等参数。
RS-232标准使用负逻辑,即逻辑0表示-5V至-15V 的电压,而逻辑1表示+5V至+15V的电压。
2. RS-485:RS-485是另一种常见的串口通信标准,它扩展了RS-232的功能,支持多点通信,即多个设备可以通过一个总线上进行通信。
RS-485使用差分信号传输方式,提高了信号的抗干扰能力。
3. USB:USB(Universal Serial Bus)虽然是一种总线标准,但它也可以用于串口通信。
USB是一种常用的接口标准,它支持热插拔和即插即用,并且可以传输数据和电力。
通过USB转串口适配器,可以将USB转换为串口通信。
4. I2C:I2C(Inter-Integrated Circuit)是一种用于连接低速设备的总线标准,它通过两根信号线(SDA和SCL)进行串行通信。
I2C总线可以挂载多个设备,并且设备之间可以进行通信。
5. SPI:SPI(Serial Peripheral Interface)是一种同步串行通信协议,它定义了主设备和从设备之间的通信方式。
SPI使用四根信号线(SCK、MOSI、MISO和NSS),支持高速数据传输。
这些是常见的串口通信标准,每种标准都有其特点和适用范围。
选择合适的串口通信标准取决于具体的应用需求和硬件配置。
串口发送和接收数据硬件原理
串口发送和接收数据硬件原理一、串口通信简介串口通信是一种常见的计算机外部设备与计算机之间进行数据传输的方式。
它通过将数据一位一位地发送或接收,通过串行的方式进行传输。
串口通信具有简单、可靠、成本低等优点,被广泛应用于各种设备之间的数据传输。
二、串口通信的原理串口通信主要涉及两个方面的内容,即数据的发送和数据的接收。
1. 数据的发送串口通信发送数据的原理是将待发送的数据按照一定的格式转换为电信号,通过串口线路发送出去。
具体步骤如下:(1)将待发送的数据转换为二进制形式,按照字节为单位进行处理;(2)将每个字节的数据按照位的顺序依次发送,通常采用的是低位优先(LSB)的方式;(3)在每个数据位之间加入一个起始位和一个停止位,起始位通常为逻辑0,停止位通常为逻辑1,用来标识数据的开始和结束;(4)可以选择性地在每个字节之间加入一个奇偶校验位,用于检测数据传输过程中的错误。
2. 数据的接收串口通信接收数据的原理是通过接收端口接收到发送端发送的数据,并将其转换为计算机可以识别的形式。
具体步骤如下:(1)接收端口接收到发送端发送的数据,包括起始位、数据位、停止位和奇偶校验位;(2)接收端口根据起始位和停止位之间的数据位,将其转换为二进制形式;(3)对于带有奇偶校验位的数据,接收端口会进行校验,以检测数据传输过程中是否存在错误;(4)将接收到的数据转换为计算机可以识别的形式,供后续的处理和应用。
三、串口通信的实现方式串口通信的实现方式有多种,常见的有RS-232、RS-485和USB 串口等。
1. RS-232RS-232是一种常见的串口通信标准,通常用于计算机与外部设备之间的数据传输。
RS-232串口通信使用DB9或DB25接口,通过发送端口和接收端口来实现数据的发送和接收。
2. RS-485RS-485是一种多点通信的串行通信协议,适用于多个设备之间的数据传输。
RS-485串口通信使用两根信号线进行数据传输,其中一根用于发送数据,另一根用于接收数据。
串口的概念及案例
串口的概念及案例串口的概念及案例一、串口定义串口,也称为串行通信接口,是一种数据通信方式,它以串行方式一位一位地传输数据。
串口通信中,数据是在一位一位地传输每个数据位同时被发送出去。
二、串口种类常见的串口有:RS-232、RS-485、RS-422等。
1.RS-232:也被称为EIA RS-232,它是最早的串口标准,也是最常用的串口之一。
RS-232支持点对点的通信方式,通常用于连接计算机的串口设备和外设。
2.RS-485:也被称为EIA RS-485,它是在RS-232之后出现的标准。
RS-485支持多点通信,可以实现多个设备之间的串口通信,常用于工业自动化控制、智能家居等领域。
3.RS-422:也被称为EIA RS-422,它是一种平衡传输标准,可以实现长距离和高速度的串口通信。
RS-422通常用于连接计算机和网络设备。
三、串口应用场景串口广泛应用于各种领域,如:计算机、工业自动化控制、智能家居、医疗设备等。
在这些领域中,串口被用于传输数据和控制信号。
四、串口通信协议串口通信协议包括物理层和数据链路层协议。
物理层协议规定了电气特性、物理特性和信号规范等;数据链路层协议规定了数据的传输规则和格式等。
在实现串口通信时,需要遵循这些协议规范。
五、串口驱动程序在使用串口时,需要安装相应的驱动程序来驱动串口设备进行通信。
驱动程序通常由设备厂商提供,用于将操作系统与设备接口连接起来。
在安装驱动程序后,操作系统就可以识别并使用串口设备了。
六、串口数据传输速率串口的传输速率通常是以波特率(baud rate)来表示的。
波特率是指每秒钟传输的位数(bits per second),常见的波特率有9600、19200、38400、57600等。
传输速率越高,数据的传输速度就越快,但同时也需要更高的硬件性能和更复杂的软件实现。
七、串口连接方式串口的连接方式有三种:交叉线连接、直连线连接和转换器连接。
1.交叉线连接:交叉线连接方式适用于点对点通信,即一个设备作为发送端(Master),另一个设备作为接收端(Slave)。
串口通讯相关参数
串口通讯相关参数串口通讯是一种在计算机与外部设备之间进行数据传输的通信方式,它通过串行传输方式实现数据的双向传输。
在进行串口通讯时,需要设置一些相关的参数以确保通讯的稳定和数据的正确传输。
下面是一些常见的串口通讯相关参数:2.数据位(Data Bits):数据位指的是每个数据帧中有效数据位的数量。
常见的数据位有5位、6位、7位、8位,其中8位是最常用的。
3.停止位(Stop Bits):停止位指的是用于标识一个数据帧的结束的位数。
常见的停止位有1位、1.5位、2位,其中1位是最常用的。
4.校验位(Parity Bit):校验位用于检测数据传输过程中是否出现错误。
常见的校验方式有奇校验、偶校验、无校验等。
校验位的选择需要根据数据的重要性和传输环境的噪声情况来确定。
5.流控制(Flow Control):流控制用于保证数据的正常传输,在数据发送和接收的过程中,通过控制信号线的状态来实现对数据流的控制。
常见的流控制方式有硬件流控制和软件流控制。
6.串口模式(Serial Mode):串口模式指的是串口的工作方式,包括半双工模式和全双工模式。
在半双工模式下,数据的传输是单向的,而在全双工模式下,数据的传输是双向的。
7.缓冲区大小(Buffer Size):缓冲区大小指的是串口接收和发送数据时所使用的缓冲区的大小,它决定了串口能够一次性处理的数据量。
缓冲区大小的设置需要根据数据的传输速率和系统的处理能力来确定。
除了上述参数外,还有一些其他的串口通讯相关参数,如硬件控制信号的状态(如RTS、CTS、DTR、DSR等),数据的格式(如数据的编码方式、数据的格式化等)、串口的工作模式(如异步模式、同步模式等)。
这些参数的选择和设置需要根据具体的应用场景、硬件设备和软件平台来确定。
总之,串口通讯相关参数的设置是保证串口通讯稳定和数据准确传输的重要保障,需要根据具体的需求和硬件环境来进行选择和配置。
学习串口参数详解:波特率,数据位,停止位,奇偶校验位
学习串口参数详解:波特率,数据位,停止位,奇偶校验位串口常用参数,串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB)混淆)。
中文名:串口常用参数属性:通用设备通信的协议相关:通用串行总线特点;计算机包含两个基于RS232的串口简介串口是一种非常通用的设备通信的协议(不要与通用串行总线Universal Serial Bus(USB)混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:波特率这是一个衡量符号传输速率的参数。
它表示每秒钟传送的符号的个数。
例如300波特表示每秒钟发送300个符号。
当我们提到时钟周期时,我们就是指波特率,例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
串口基础知识
串口基础知识一、什么是串口?串口(Serial Port),也称为COM口(Communication Port),是一种用于数据传输的通信接口,常用于计算机与外部设备之间的数据传输。
串口采用串行传输方式,即逐位地发送和接收数据,相比并行传输方式,串口的数据传输速率较慢,但具有传输距离远、连接设备数量多的优势。
二、串口的工作原理串口的工作原理是通过发送和接收电平信号来传输数据。
串口通信使用的是两根信号线:发送线(Tx)和接收线(Rx)。
发送线上的电平变化表示发送的二进制数据,接收线上的电平变化表示接收到的二进制数据。
发送方通过发送线将数据按照一定的协议发送给接收方,接收方通过接收线接收数据并进行处理。
三、串口的通信参数串口通信需要设置一些参数,以确保通信的正确性和稳定性。
常用的串口通信参数包括:1. 波特率(Baud Rate):表示每秒钟传输的位数,常用的波特率有9600、115200等。
2. 数据位(Data Bits):表示每个字节的位数,常用的数据位有7位、8位。
3. 停止位(Stop Bits):表示停止位的个数,常用的停止位有1位、1.5位、2位。
4. 校验位(Parity Bit):用于检测数据传输过程中的错误,常用的校验位有无校验、奇校验、偶校验。
四、串口的应用领域串口广泛应用于各种设备之间的数据通信,常见的应用领域有:1. 电脑与外部设备之间的数据传输,如打印机、扫描仪、数码相机等。
2. 嵌入式系统中,用于与传感器、执行器等外部设备进行数据交互。
3. 工业自动化领域,用于控制和监控设备之间的数据传输。
4. 通信设备中,如调制解调器、路由器等。
五、串口的优缺点串口作为一种通信接口,具有以下优点:1. 传输距离远:串口的传输距离可以达到几百米,适用于远距离通信。
2. 连接设备数量多:串口可以通过串口转换器扩展连接多个设备。
3. 通信稳定可靠:串口通信采用的是同步传输方式,可以保证数据的准确传输。
使用串口通信的注意事项
使用串口通信的注意事项串口通信是一种常见的数据传输方式,通常用于连接计算机和外部设备,或者连接嵌入式系统和外围设备。
在使用串口通信时,有一些注意事项需要考虑,包括以下几点:1. 波特率设置,在进行串口通信时,发送和接收数据的设备必须使用相同的波特率。
波特率是指每秒钟传输的比特数,常见的波特率包括9600、115200等。
确保发送和接收设备的波特率设置一致,否则会导致数据传输错误。
2. 数据位、停止位和校验位设置,除了波特率外,还需要设置数据位、停止位和校验位。
这些参数也需要发送和接收设备保持一致,以确保数据的正确传输。
3. 数据格式,在进行串口通信时,需要确定所传输数据的格式,包括数据的起始标志、结束标志以及数据的编码方式。
这些格式需要发送方和接收方进行协商并保持一致。
4. 数据流控制,在高速传输或长距离传输时,可能需要使用数据流控制来确保数据的可靠传输。
常见的数据流控制方式包括硬件流控和软件流控,需要根据实际情况进行选择和配置。
5. 错误处理,在串口通信过程中,可能会出现数据传输错误或丢失的情况。
需要在设计通信协议时考虑错误处理机制,以确保数据传输的可靠性和稳定性。
6. 线缆连接,正确连接串口通信的线缆也是非常重要的。
需要确保使用合适的串口线缆,并正确连接发送和接收设备的串口接口。
总的来说,串口通信时需要注意波特率、数据位、停止位、校验位的设置,确定数据格式和流控制方式,设计合理的错误处理机制,并确保正确连接线缆。
只有在这些方面都做到位,才能保证串口通信的稳定和可靠。
串口设置的常用参数
串口设置的常用参数串口通信是计算机与外部设备之间进行数据交换的一种常见方式。
为了确保串口通信的稳定和可靠性,需要对串口进行适当的设置。
本文将介绍串口设置的常用参数,包括波特率、数据位、停止位和校验位。
一、波特率波特率是指每秒钟传输的二进制位数。
在串口通信中,波特率用来衡量数据传输的速度。
常见的波特率有9600、115200等。
波特率的选择应根据实际需求进行,一般情况下,较高的波特率可以实现更快的数据传输速度,但可能会增加误码率。
二、数据位数据位是指每个字符中实际用于传输数据的位数。
常见的数据位有5、6、7、8位。
数据位的选择应根据实际需求进行,一般情况下,较多的数据位可以传输更多的信息,但可能会增加传输的时间和开销。
三、停止位停止位是指用于标识一个字符的结束的位数。
常见的停止位有1位和2位。
停止位的选择应根据实际需求进行,一般情况下,较多的停止位可以增加传输的可靠性,但可能会增加传输的时间和开销。
四、校验位校验位是用来检测数据传输过程中是否出现错误的一种方法。
常见的校验位有奇校验、偶校验和无校验。
校验位的选择应根据实际需求进行,一般情况下,校验位可以帮助检测传输过程中的错误,提高数据的可靠性。
以上是串口设置中的常用参数。
在实际应用中,根据具体的通信需求和设备要求,可以通过调整这些参数来实现更好的串口通信效果。
除了上述常用参数外,还有一些其他的串口设置参数可以进一步优化串口通信的性能。
例如流控制、缓冲区大小等。
流控制可以用来控制数据的流动,避免数据的丢失或溢出。
缓冲区大小可以用来控制串口接收和发送数据的缓存容量,以适应不同速率的数据传输。
在进行串口设置时,需要注意以下几点:1.保持串口设置参数的一致性:在进行串口通信时,计算机和外部设备的串口设置参数应保持一致,以确保数据的正确传输。
2.合理选择参数:根据实际需求选择合适的波特率、数据位、停止位和校验位,以实现稳定可靠的串口通信。
3.测试和调试:在进行串口通信时,可以通过发送测试数据并接收响应数据来测试和调试串口设置是否正确。
9串口定义
9串口定义摘要:1.串口的定义和概念2.串口的分类和特点3.串口的通信方式和数据传输速率4.串口的应用领域和未来发展趋势正文:1.串口的定义和概念串口(Serial Port),又称串行接口,是一种计算机硬件接口,用于实现计算机与外部设备之间的数据传输。
与并行接口相比,串口一次只传输一个数据位,因此传输速度较慢,但其优点是只需较少的线路即可实现数据传输,且成本较低。
在电子设备和计算机外设中,串口被广泛应用。
2.串口的分类和特点根据数据传输方式和通信协议的不同,串口可分为以下几类:(1)串行通信接口(RS-232):这是一种最常用的串口类型,主要用于计算机与外部设备(如鼠标、键盘、调制解调器等)之间的数据传输。
RS-232 具有传输距离较短(一般为15 米以内)和传输速率较低(一般为9600bps)的特点。
(2)串行通信接口(RS-485):RS-485 是一种多点通信的总线型接口,具有较强的抗干扰能力和较远的传输距离(可达1200 米)。
它适用于工业自动化、仪表测量等领域的数据通信。
(3)通用串行总线(USB):USB 是一种高速串行接口,传输速率可达480Mbps。
它已成为现代计算机和外部设备的主要接口之一,支持热插拔和即插即用功能。
3.串口的通信方式和数据传输速率串口的通信方式主要有异步通信、同步通信和双向通信等。
其中,异步通信是最常见的通信方式,它采用起始位、数据位、奇偶校验位和停止位等组成一个数据帧进行传输。
同步通信则是通过特定的同步方式进行数据传输,如比特同步和字节同步等。
双向通信则是指数据可以在两个方向上进行传输。
数据传输速率是指单位时间内传输的数据量,通常以比特每秒(bps)为单位表示。
串口的数据传输速率受通信协议、硬件设备和传输距离等因素影响。
常见的串口传输速率有9600bps、19200bps、38400bps、57600bps 和115200bps 等。
4.串口的应用领域和未来发展趋势串口在电子设备和计算机外设中具有广泛的应用,如鼠标、键盘、调制解调器、路由器、传感器等。
串口通信知识点详解
串⼝通信知识点详解串⼝通信的基本概念:1.在计算机上进⾏数据的通信有两种⽅式。
串⾏⽅式和并⾏⽅式。
也就是串⼝通信和并⾏通信。
即串⼝通信是计算机传输数据的⼀种通信⽅式。
2.并⾏通信以字节为但是进⾏传输数据,相⽐于串⼝通信,他的速度快,传输距离近。
串⼝通信以⽐特位传输数据,相⽐于并⾏通信,他的传输速度慢,但是传输距离远。
并且串⼝通信是异步通信,因此,端⼝可以在⼀根线上发送数据的同时在另⼀根线上接收数据3.串⼝通信最重要的参数是波特率、数据位、停⽌位和奇偶校验。
对于两个进⾏通信的端⼝,这些参数必须匹配。
(1)波特率:传输速率。
如每秒钟传送240个字符,⽽每个字符格式包含10位(1个起始位,1个停⽌位,8个数据位),这时的波特率为240Bd,⽐特率为10位*240个/秒=2400bps。
(2)数据位:数据包中发送端想要发送的数据(3)停⽌位:⽤于表⽰单个包的最后⼀位,结束标志以及校正时钟同步(4)奇偶校验:检错⽅式。
⼀共有四种检错⽅式:偶、奇、⾼和低。
4.串⼝通信的应⽤场景:串⼝通信是指外设和计算机间,通过数据线按位进⾏传输数据的⼀种通讯⽅式。
这种通信⽅式使⽤的数据线少,在远距离通信中可以节约通信成本,但其传输速度⽐并⾏传输低。
⼤多数计算机(不包括笔记本)都包含两个RS-232串⼝。
串⼝通信也是仪表仪器设备常⽤的通信协议。
Windows下串⼝通信:1.在windows下,串⼝是作为⽂件进⾏处理。
2.串⼝通信分为四⼤步骤:打开串⼝,关闭串⼝,配置串⼝,读写串⼝(1)打开串⼝:使⽤CreateFile函数:HANDLE WINAPI CreateFile(_In_ LPCTSTR lpFileName,//要打开或创建的⽂件名_In_ DWORD dwDesiredAccess,//访问类型_In_ DWORD dwShareMode,//共享⽅式_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全属性_In_ DWORD dwCreationDisposition,//指定要打开的⽂件已存在或不存在的动作_In_ DWORD dwFlagsAndAttributes,//⽂件属性和标志_In_opt_ HANDLE hTemplateFile//⼀个指向模板⽂件的句柄);参数说明:1).lpFileName:要打开或创建的⽂件名2).dwDesiredAccess:访问类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串口引脚图.jpg串口通信的基本概念1,什么是串口?2,什么是RS-232?3,什么是RS-422?4,什么是RS-485?5,什么是握手?1,什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
c,停止位:用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d,奇偶校验位:在串口通信中一种简单的检错方式。
有四种检错方式:偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
2,什么是RS-232?RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。
可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。
用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。
RS-232只限于PC串口和设备间点对点的通信。
RS-232串口通信最远距离是50英尺。
\ 1 2 3 4 5 /\ 6 7 8 9 /-------从计算机连出的线的截面。
RS-232针脚的功能:数据:TXD(pin 3):串口数据输出RXD(pin 2):串口数据输入握手:RTS(pin 7):发送数据请求CTS(pin 8):清除发送DSR(pin 6):数据发送就绪DCD(pin 1):数据载波检测DTR(pin 4):数据终端就绪地线:GND(pin 5):地线其他RI(pin 9):铃声指示3,什么是RS-422?RS-422(EIA RS-422-A Standard)是Apple的Macintosh计算机的串口连接标准。
RS-422使用差分信号,RS-232使用非平衡参考地的信号。
差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。
在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。
4,什么是RS-485?RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。
有了多个设备的能力,你可以使用一个单个RS-422口建立设备网络。
出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。
RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。
RS-485可以用超过4000英尺的线进行串行通行。
DB-9 引脚连接-------------\ 1 2 3 4 5 /\ 6 7 8 9 /-------从计算机连出的线的截面。
RS-485和RS-422的引脚的功能数据:TXD+(pin 8),TXD-(pin 9),RXD+(pin 4),RXD-(pin 5)握手:RTS+(pin 3),RTS-(pin 7),CTS+(pin 2),CTS-(pin 6)地线:GND (pin 1)5,什么是握手?RS-232通行方式允许简单连接三线:Tx、Rx和地线。
但是对于数据传输,双方必须对数据定时采用使用相同的波特率。
尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。
这时需要串口的握手功能。
在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。
a,软件握手:我们讨论的第一种握手是软件握手。
通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。
必须的线仍然是三根:Tx,Rx 和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使能或者禁止用户使用两个控制字符XON和OXFF。
这些字符在通信中由接收方发送,使发送方暂停。
例如:假设发送方以高波特率发送数据。
在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。
为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六进制13,直到输入buffer空了。
一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。
输入buffer半满时,LabWindows发送XOFF。
此外,如果XOFF传输被打断,LabWindows会在buffer达到75%和90%时发送XOFF。
显然,发送方必须遵循此守则以保证传输继续。
b,硬件握手:第二种是使用硬件线握手。
和Tx和Rx线一样,RTS/CTS和DTR/DSR 一起工作,一个作为输出,另一个作为输入。
第一组线是RTS(Request to Send)和CTS(Clear to Send)。
当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。
另一组线是DTR (Data TerminalReady)和DSR(Data Set Ready)。
这些现主要用于Modem通信。
使得串口和Modem通信他们的状态。
例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。
读取DSR线置高,PC机开始发送数据。
一个简单的规则是DTR/DSR用于表示系统通信就绪,而RTS/CTS用于单个数据包的传输。
在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。
如果CTS模式使能,LabWindows使用如下规则:当PC发送数据:RS-232库必须检测CTS线高后才能发送数据。
当PC接收数据:如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。
如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。
如果端口队列近乎空了,哭喊数置高RTS,但使DRT维持高电平。
如果端口关闭,库函数置低RTS和DTR。
c,XModem握手:最后讨论的握手叫做XModem文件传输协议。
这个协议在Modem 通信中非常通用。
尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。
在LabWindows中,实际的XModem应用对用户隐藏了。
只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。
函数是XModemConfig,XModemSend和XModemReceive。
XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。
这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而,可以通过XModemConfig函数修改,以满足具体需要。
这些参数的使用方法由接收方发送的字符neg_ack确定。
这通知发送方其准备接收数据。
它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。
如果从发送方收到start_of_data,接收方将读取后继信息数据包。
包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。
在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。
如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。
如果一直没有收到响应,发送方通知用户传输数据失败。
由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。
这导致接收的数据比原数据多。
在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF 控制字符的值,从而导致通信故障。