串口通信的基本概念
串口通信握手

串口通信及握手串口通信的基本概念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位。
串口通信的原理

串口通信的原理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 发送数据发送端将要发送的数据转换为电信号,通过串口线发送给接收端。
发送数据时,需要按照数据帧的格式进行封装,包括起始位、数据位、校验位和停止位。
串口通信基础实训的主要内容

串口通信基础实训的主要内容
串口通信基础实训的主要内容通常包括以下几个方面:
1. 串口通信基本概念:了解串口通信的基本原理,包括串行通信和并行通信的区别,串口通信的优点和应用场景等。
2. 串口通信协议:学习各种常见的串口通信协议,如RS-232、RS-485、SPI、I2C等,了解它们的通信规则、数据格式、信号线定义等。
3. 串口通信硬件:了解串口通信所需的硬件设备,如串口线缆、串口转换器、串口服务器等,并掌握如何连接和配置这些硬件设备。
4. 串口通信软件:学习如何使用各种串口通信软件,如串口调试助手、终端仿真器等,以便进行串口通信的测试和调试。
5. 串口通信编程:学习如何在各种编程语言中实现串口通信,如C/C++、Python、Java等,通过编写程序来进行数据的发送和接收。
6. 故障排查与维护:了解如何排查和解决串口通信中可能出现的问题,包括信号干扰、通信不稳定、数据丢失等。
7. 实际应用案例:通过分析和解决实际应用案例,如工业控制、智能家居等领域的串口通信应用,加深对串口通信的理解和应用能力。
通过以上实训内容的学习和实践,可以帮助学生掌握串口通信的基本知识和技能,为后续的专业学习和实际工作打下坚实的基础。
Labview串口通信开发实例

串口通信的基本概念串口通信的基本概念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位。
串口通信UART模块基本介绍

串口通信UART模块基本介绍串口通信(UART)是一种通过串行接口进行数据传输的通信协议和硬件实现方式。
它是计算机和外设之间最常用的通信方式之一,也是嵌入式系统和单片机等小型设备中常用的通信方式。
UART通过串行方式传输数据,即通过单一的数据线一次只能传输一个bit位。
在串口通信中,通常需要两条线,一条用于发送数据(TX),一条用于接收数据(RX)。
UART通常通过一对相互连接的芯片实现,称为UART芯片或UART模块。
它包含一个发送器和一个接收器。
发送器将要发送的数据从并行格式转换为串行格式,并通过发送线路发送出去。
接收器则接收到的串行数据转换为并行格式以供系统使用。
UART芯片通常由硬件设计工程师在集成电路中设计和实现。
UART通信具有以下特点和优势:1.简单易用:UART通信是一种非常简单和易用的通信协议。
它的实现简单,适用于各种不同的应用场景。
2.可靠性高:UART通信使用的是硬件实现,不受软件的控制和干扰。
它具有较高的可靠性和稳定性。
3. 速度灵活可调:UART通信可以根据不同的应用需求进行速度调整。
通常,UART通信支持的波特率范围很大,可以从几十bps到多Mbps。
4.支持半双工和全双工通信:UART通信可以支持半双工和全双工两种通信方式。
在半双工模式下,发送和接收不能同时进行;而在全双工模式下,可以同时进行发送和接收。
5.通信距离远:UART通信使用串行线路进行数据传输,因此可以通过扩展串行线路的长度来实现较远距离的通信。
6.多种应用:UART通信广泛应用于各种设备和领域,如计算机、嵌入式系统、单片机、电子设备、通信设备等。
值得注意的是,UART通信只是一个物理层的通信协议,它只负责数据的传输,而不负责数据的解码和处理。
因此,在使用UART通信时,通常需要配合其他协议或编码方式,如RS-232、RS-485、Modbus等,来完成完整的通信过程。
总结来说,UART通信是一种简单、可靠、灵活的串行通信协议和硬件实现方式。
串口通信基础知识

通讯基础知识1串口通讯串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。
串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
2串口通讯的数据格式一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
为什么是7位?当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。
实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。
3通讯方式单工模式(Simplex Communication)的数据传输是单向的。
通信双方中,一方固定为发送端,一方则固定为接收端。
信息只能沿一个方向传输,使用一根传输线。
半双工模式(Half Duplex)通信使用同一根传输线,既可以发送数据又可以接收数据,但不能同时进行发送和接收。
数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。
因此半双工模式既可以使用一条数据线,也可以使用两条数据线。
半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。
因为有切换,所以会产生时间延迟,信息传输效率低些。
串行通讯的基本概念

串行通讯的基本概念:与外界的信息交换称为通讯。
基本的通讯方式有并行通讯和串行通讯两种。
一条信息的各位数据被同时传送的通讯方式称为并行通讯。
并行通讯的特点是:各数据位同时传送,传送速度快、效率高,但有多少数据位就需多少根数据线,因此传送成本高,且只适用于近距离(相距数米)的通讯。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。
串行通讯的距离可以从几米到几千米。
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通讯又分为异步通讯和同步通讯两种方式。
在单片机中,主要使用异步通讯方式。
MCS_51单片机有一个全双工串行口。
全双工的串行通讯只需要一根输出线和一根输入线。
数据的输出又称发送数据(TXD),数据的输入又称接收数据(RXD)。
串行通讯中主要有两个技术问题,一个是数据传送、另一个是数据转换。
数据传送主要解决传送中的标准、格式及工作方式等问题。
数据转换是指数据的串并行转换。
具体说,在发送端,要把并行数据转换为串行数据;而在接收端,却要把接收到的串行数据转换为并行数据。
单工、半双工和全双工的定义如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。
如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。
电话线就是二线全双工信道。
由于采用了回波抵消技术,双向的传输信号不致混淆不清。
双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。
--------> <--------> -------->A---------B A----------B A---------B<--------单工半双工全双工串口通讯—全双工和半双工方式在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。
串口通信的基本概念

串口通信的基本概念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位。
如何设置取决于你想传送的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串口通信的基本概念主要软件: Driver Software>>NI-Serial主要软件版本: 1.7主要软件修正版本: N/A次要软件: N/A硬件: Serial问题: 我从那里能够学到串口通信的基本知识解答: 串口通信的基本概念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英尺。
DB-9针连接头-------------\ 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 Terminal Ready)和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)字节。