can串口通信协议,android串口通信协议
本作品内容为can串口通信协议,格式为 docx ,大小 45546 KB ,页数为 35页
('第1页共35页竭诚为您提供优质文档/双击可除can串口通信协议篇一:can总线与pc机串口通信适配器设计与实现引言can总线(controllerareanetwork,控制器局域网)具有高性能、高可靠性、高性价比、连接方便、实时性好及其独特的设计等突出优点应用于许多工业部门,目前已成为比较流行的一种现场总线,广泛应用于控制系统中的各检测和执行机构之间的数据通信。而实际应用中pc机与can总线的人机交互设计尤为重要,它直接影响系统的运行和结果,其连接方法也成为系统设计的重点,通常采取3种第2页共35页连接方式:Rs-232串行口通信、pci卡、usb口通信,由于串行通信端口在系统控制领域中一直扮演着极为重要的角色,以其开发简单,资源丰富,成本低,无需驱动程序等诸多优点,不仅没有被淘汰,反而在规格上更先进,故应用广泛。结合设计中at89c51单片机有串行通信口且接口简单的特点,选用Rs-232作为can总线与pc机之间的连接方式。将就这一基于can控制器sja1000与at89c51的具有通用性的工业测控系统设计的软硬件设计方案作详细介绍。can总线及can控制器sja1000简介can总线最初是德国bosch公司在1986年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。can总线与其它通信网的显著不同之处在于:(1)报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报第3页共35页文,该收的收下,不收的弃用。其好处是可线上网下网、即插即用和多站接收。(2)特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。另外can总线采用短帧结构,借助接收滤波的多地址帧传送,受干扰概率低,每帧信息都有cRc校验及其它检错措施。响应远程数据请求,配置灵活,具有全系统的数据相容性。节点数主要取决于总线驱动电路,目前最多可达110个节点。can总线符合iso11898标准,通信速率高,最大传输速率可达1mbit/s,最大传输距离为10km,传输介质可为双绞线。基于can总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。目前广泛流行的can总线器件有两大类:一类是独立的can控制器,如philips公司的pca82c200,sja1000及intel82256/82257等;另一类是带有在片can的微控制器,第4页共35页如p8xc582等。其中philips公司的pca82c200是符合can2.0a协议的总线控制器,sja1000是它的替代产品,它是应用于汽车和一般工业环境的独立can总线控制器。具有完成can通信协议所要求的全部特性。经过简单总线连接的sja1000可完成can总线的物理层和数据链路层的所有功能。其硬件与软件设计和pca82c200的基本can模式(basiccan)兼容。同时,新增加的增强can模式(pelican)还可支持can2.0b协议。根据当前市场开发工具和课题的实际需要,选用sja1000作为can控制器,同时使用了can控制器接口芯片pca82c250。sja1000有两种工作模式:基本模式和增强模式。在基本模式下,sja1000只可收发标准数据帧(标准数据帧的标识符为11位),且错误报警的极限值不能修改;在增强模式下,sja1000既可接收标准数据帧,也可接收扩展数据帧(扩展数据帧的标识符为29位),可修改错误报警的极限第5页共35页值,并且sja1000具有更加灵活的滤波方式,能够根据数据帧的标识符有选择地接收一些数据帧。另外,增强模式下的sja1000能够进行自检,即可通过自发自收一组报文来判断该控制节点是否正常地挂在can总线上。使用者所要做的主要工作是sja1000的初始化,收发报文的处理以及对节点脱离总线的检测量与处理。Rs-232标准串行通信由于接线少、成本低,在数据采集和控制系统中得到了广泛的应用,1969年,美国电子工业协会(eia)公布了Rs-232c作为串行通信接口的电气标准,该标准定义了数据终端设备(dte)和数据通信设备(dce)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。系统总体结构原理及设计该适配器利用Rs-232串行通信口及can总线进行数据第6页共35页通信,实现上位机与各智能节点间的通信任务,包括控制台(上位机)向下传输命令和下位机数据的返回,以完成对下层设备的监控。图1为系统结构框图。pc机通过Rs-232与can控制器sja1000通信,实现信息在can总线上的发送与接收。底层各智能节点根据应用的不同具有不同功能,但都具有与can总线通信能力可以上传数据和接收数据。can总线接口硬件设计图2为can总线通信接口适配器硬件设计简图。pca82c250提供对总线的差动发送和对can控制器的差动接收功能,也增大了通信距离,提高了系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFi),实现了热防护等功能。系统软件设计软件设计分pc机Visualbasic编程和at89c51单片机c语言编程2部分。第7页共35页pc机部分采用Vb6.0编程,这样界面非常直观,人机交互效果好。Vb提供了具有通讯功能的mscomm.ocx控件,该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。mscomm控件提供2种处理通讯的方式:(1)事件驱动通讯,即发送或接收数据过程中触发oncomm事件,通过编程访问commevent属性了解通信事件的类型,分别进行各自的处理;(2)查询方式,通过检查commevent属性的值来查询事件和错误。采取查询方式。控件mscomm是将Rs-232的初级操作予以封装,用户以高级的basic语法即可利用Rs-232与外界通信并不需要了解其他有关的初级操作,因此使用方便。mscomm控件初始化:mscomm1.commport=2设置串口2mscomm1.settings=“9600,n,8,1”设定工作方式第8页共35页mscomm1.inbuffersize=10根据1次传1个can帧,设置输入缓冲区大小mscomm1.inputmode=1二进制形式接收mscomm1.inputlen=0一次读出输入缓冲区中的所有数据mscomm1.utbuffersize=10输出缓冲区大小的设置mscomm1.utbuffercount=0清空输出缓冲区mscomm1.portopen=true打开串口pc机与单片机msc51之间的通信约定如下:一般情况下pc与多个msc51单片机系统进行主从式通信,其方案是msc51采用串口工作方式3,即11位异步接收/发送方式,有效数据为9位,其中第9位为地址/数据信息的标志位,以此区分各从机。但现在pc机采用Vb编程,其mscomm控件为标准的10位串口通信,包括8位标准数据和数据的起始位和第9页共35页停止位。将单片机串口设为工作方式1,即改为10位异步接收/发送方式,通讯流程如下:通讯时首先发通信开始标志,接着发送各下位机单片机的地址信号和芯片的片选信号,然后发送单片机的工作命令字。再往下即进行数据处理,转入相应的处理功能模块,最后对数据进行效验。这个通讯流程非常简便,实现了pc机与单片机之间的主从式通讯。以下为Vb的发送接收程序:privatesubcmdsendàclick()使用按钮控件mscomm1.utput=txtsend.text将传送区内的字符串以output属性送出endsubprivatesubFormàload()窗体的加载事件mscomm1.portopen=true将通讯断口开启,通讯参数也可以在开启前先设定第10页共35页mscomm1.Rthreshold=Val(txtthreshold.text)设定引发接收事件的接收阈值,使程序一执行便开启通讯端口,将接收的阈值设定为阈值,设定文本框内的值。endsubprivatesubmscomm1.oncomm()通讯控件的oncomm事件。引发接收事件后,将字符收进来并放在接收的文本框中selectcasemscomm1.commevent根据下面每一个case语句处理每个事件和错误事件casecomevcdcd线的状态发生变化casecommevReceive收到Rthreshold#oftxtReceive.text=txtReceive.text+trim(mscomm1.input)ea=1;//开中断es=1;//允许串口中断第11页共35页tR1=1;//启动定时器t1spechaR=0xff;//设定通讯开始标志程序采用中断接收,查询发送的方式。串口中断服务程序流程图如图3所示。sja1000控制器部分初始化子程序caninit()选用can2.0协议构建can总线控制网络,对sja1000的初始化主要包括工作方式的设置、验收代码寄存器acR、验收屏蔽寄存器amR、波特率的参数设置等。voidcanàinit(void)/sja1000的初始化子函数/{control=1;/禁止超载、出错及接收中断,并置复位请求位使其进入复位状态/while(controlacceptanceàcode=0x01;/验收码寄存器(存机号1号)第12页共35页acceptanceàmask=0xfe;/验收屏蔽码寄存器/busàtimingà0=0x03;/总线定时寄存器0,同步跳转宽度t0=t,bps=125k/busàtimingà1=0x18;/总线定时寄存器1,t1=9t,t2=2t,波特率为500kbit/s/outputàcontrol=0x1a;/正常输出方式,tx1引脚悬浮/clockàdivider=0x40;/basiccan模式,Rx1接固定电平/control=0x1a;/清复位请求,使其进入工作状态/}发送canàsend()发送子程序负责节点报文的发送,由can控制器sja1000独立完成,将命令寄存器里的发送请求标志置位,第13页共35页即可发送sja1000发送缓冲区中的报文。voidcanàsend(unsignedcharid,charxdata)/该子函数完成一帧数据的发送/{while((statustransmitbuffer1=id;transmitbuffer2=0x08;transmitbuffer3=txdata[0];transmitbuffer10=txdata[7];command=0x05;/发送请求/while((status}接收子程序canàreceive()接收子程序负责节点报文的接收。sja1000自动接收发往该节点的数据并将收到的数据放到它的接收缓冲器中。sja1000的报文接收主要有2种方式:中断接收方式和第14页共35页查询接收方式。系统采用的是中断接收方式。{unsignedcharir;ir=interrupt;/获得sja1000的中断状态/ea=0;if((ir}Rxid[0]=Receivebuffer1;Rxid[0]=Receivebuffer2;if(((Receivebuffer2.Rxdata[7]=Receivebuffer10;command=0x04;/sja1000的接收缓存器被释放/}elseif(((Receivebuffer2}}第15页共35页结束语介绍了一种低成本、高可靠性、快捷的通用型can总线与pc机通过Rs-232串口互连方案。该互连方案很好地保证了管理监控层和现场生产测控层之间的连接,方便了上下层信息交流,满足工厂、变电站等工业场合的应用要求。篇二:串口通信协议1串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线universalserialbus或者usb混淆)。2串行通信的传输方向2.1单工单工是指数据传输仅能沿一个方向,不能实现反向传输。2.2半双工半双工是指数据传输可以沿两个方向,但需要分时进第16页共35页行。2.3全双工全双工是指数据可以同时进行双向传输。单工半双工全双工3重要参数串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配。3.1波特率这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800hz。这意味着串口通信在数据线上的采样率为4800hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是第17页共35页波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是gpib设备的通信。常用的波特率有,1200,2400,4800,9600,19200,38400,115200等。3.2数据位这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ascii码是0~127(7位)。扩展的ascii码是0~255(8位)。如果数据使用简单的文本(标准ascii码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。3.3停止位用于表示单个包的最后一位。典型的值为1,1.5和2第18页共35页位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。3.4奇偶校验位在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备第19页共35页能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。4Rs-232/422/485标准Rs-232、Rs-422与Rs-485最初都是由电子工业协会(eia)制订并发布的。Rs-232在1962年发布,命名为eia-232-e,作为工业标准,以保证不同厂家产品之间的兼容。Rs-422是由Rs-232发展而来,它是为弥补Rs-232之不足而提出的。为改进Rs-232通信距离短、速率低的缺点,Rs-422定义了一种平衡通信接口,将传输速率提高到10mbps,传输距离延长到4000英尺(速率低于100kbps时),并允许在一条平衡总线上连接最多10个接收器。Rs-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为tia/eia-422-a标准。为扩展应用范围,eia又于1983年在Rs-422基础上制定了Rs-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线第20页共35页上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为tia/eia-485-a标准。由于eia提出的建议标准都是以“Rs”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以Rs作前缀称谓。Rs-232、Rs-422与Rs-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。但由于pc上的串行数据通讯是通过uaRt芯片(较老版本的pc采用i8250芯片或z8530芯片)来处理的,其通讯协议也规定了串行数据单元的格式(8-n-1格式):1位逻辑0的起始位,6/7/8位数据位,1位可选择的奇(odd)/偶(eVen)校验位,1/2位逻辑1的停止位。基于pc的Rs-232、Rs-422与Rs-485标准均采用同样的通讯协议。4.1Rs-232标准Rs-232被定义为一种在低速率、近距离串行通讯的单第21页共35页端标准。Rs-232采取不平衡传输方式,即所谓单端通讯。Rs-232的电气标准:电平为逻辑“0”时:+3V~+15V;电平为逻辑“1”时:-3V~-15V;未定义区:-3V~+3V。在此区域内的信号处理将由通讯接口的Rs-232收发器决定。4.2Rs-485标准电子工业协会(eia)于1983年制订并发布Rs-485标准,并经通讯工业协会(tia)修订后命名为tia/eia-485-a,习惯地称之为Rs-485标准。Rs-485标准是为弥补Rs-232通信距离短、速率低等缺点而产生的。Rs-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。Rs-485标准与Rs-232不一样,数据信号采用差分传输第22页共35页方式(differentialdrivermode),也称作平衡传输,它使用一对双绞线,将其中一线定义为a,另一线定义为b,如图所示。发送器示意图通常情况下,发送发送器a、b之间的正电平在+2~+6V,是一个逻辑状态;负电平在-2~-6V,是另一个逻辑状态。另有一个信号地c。在Rs-485器件中,一般还有一个“使能”控制信号。“使能”信号用于控制发送发送器与传输线的切断与连接,当“使能”端起作用时,发送发送器处于高阻状态,称作“第三态”,它是有别于逻辑“1”与“0”的第三种状态。对于接收发送器,也作出与发送发送器相对的规定,收、发端通过平衡双绞线将a-a与b-b对应相连。当在接收端a-b之间有大于+200mV的电平时,输出为正逻辑电平;小于-200mV时,输出为负逻辑电平。在接收发送器的接收第23页共35页平衡线上,电平范围通常在200mV至6V之间。参见下图所示。接收器示意图定义逻辑1(正逻辑电平)为b>a的状态,逻辑0(负逻辑电平)为a>b的状态,a、b之间的压差不小于200mV。5接线方式5.1Rs232通讯连接方式示意图5.2Rs485通讯连接方式示意图2台连接方式:多台连接组成主从网络:6通信方式演示6.1Rs232通信演示通过串口助手实现演示全双工串口设置6.2Rs485通信演示第24页共35页通过485助手和地址表软件模拟演示半双工串口设置地址表从机地址modbus上层协议7Rs485通讯协议Rs-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议;因此,用户需要在Rs-485应用网络的基础上建立自己的应用层通信协议。很多具有Rs-485接口电路的用户设备采用自己制定的简单通讯协议,或是直接取自modbus协议(ascii/Rtu模式)中的一部分功能;7.1modbus通讯协议modbus协议已经成为一种通用工业标准。modbus在串行链路上的协议帧格式如下所示:modbusadumodbuspdumodbus协议帧格式第25页共35页pdu:modbus的一个简单协议数据单元;adu:modbus在总线或者网络上的应用数据单元。modbus协议使用主从通信技术,采用查询-回应形式实现通信,主机可对各从机寻址,发出广播信息,从机返回信息作为对查询的响应,具体过程如下所示:modbus查询-回应形式通信当通信或者操作出错的时候,从机同样会给主机回应异常帧,其格式和正常响应的数据格式相似,只是回应时的功能码和数据响应区域变成modbus定义的异常功能码和异常码。篇三:串口通讯协议串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。目录1什么是串口第26页共35页2什么是Rs-2323什么是Rs-4224什么是Rs-4855什么是握手b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ascii码是0~127(7位)。扩展的ascii码是0~255(8位)。如果数据使用简单的文本(标准ascii码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一第27页共35页个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。第28页共35页2什么是Rs-232Rs-232(ansi/eia-232标准)是ibm-pc及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中Rs-232的传输长度或者速度常常超过标准的值。Rs-232只限于pc串口和设备间点对点的通信。Rs-232串口通信最远距离是50英尺。db-9针连接头9针串口连接口顺序图从计算机连出的线的截面。Rs-232针脚的功能:数据:txd(pin3):串口数据输出(transmitdata)Rxd(pin2):串口数据输入(Receivedata)握手:第29页共35页Rts(pin7):发送数据请求(Requesttosend)cts(pin8):清除发送(cleartosend)dsR(pin6):数据发送就绪(datasendReady)dcd(pin1):数据载波检测(datacarrierdetect)dtR(pin4):数据终端就绪(dataterminalReady)地线:gnd(pin5):地线其他Ri(pin9):铃声指示3什么是Rs-422Rs-422(eiaRs-422-astandard)是apple的macintosh计算机的串口连接标准。Rs-422使用差分信号,Rs-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比Rs-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传第30页共35页输距离是一个很大的优点。4什么是Rs-485Rs-485(eia-485标准)是Rs-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。有了多个设备的能力,你可以使用一个单个Rs-485口建立设备网络。出色抗噪和多设备能力,在工业应用中建立连向pc机的分布式设备网络、其他数据收集控制器、hmi或者其他操作时,串行连接会选择Rs-485。Rs-485是Rs-422的超集,因此所有的Rs-422设备可以被Rs-485控制。Rs-485可以用超过4000英尺的线进行串行通行。db-9引脚连接-------------\\12345/\\6789/第31页共35页-------从计算机连出的线的截面。Rs-485的引脚的功能数据:1(data-)2(data+)地线:55什么是握手Rs-232通行方式允许简单连接三线:tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分,我们讨论三种最常用的Rs-232握手形式:软件握手、硬件握手和xmodem。a,软件握手:我们讨论的第一种握手是软件握手。通常用在实际数据是控制字符的情况,类似于gpib使用命令字符串的方式。必须的线仍然是三根:tx,Rx和地线,因第32页共35页为控制字符在传输线上和普通字符没有区别,函数setxmodem允许用户使用或者禁止用户使用两个控制字符xon和xoFF。这些字符在通信中由接收方发送,使发送方暂停。例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于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一起工作,一个作为输出,另第33页共35页一个作为输入。第一组线是Rts(Requesttosend)和cts(cleartosend)。当接收方准备好接收数据,它置高Rts线表示它准备好了,如果发送方也就绪,它置高cts,表示它即将发送数据。另一组线是dtR(dataterminalReady)和dsR(datasetReady)。这些线主要用于modem通信。使得串口和modem通信他们的状态。例如:当modem已经准备好接收来自pc的数据,它置高dtR线,表示和电话线的连接已经建立。读取dsR线置高,pc机开始发送数据。一个简单的规则是dtR/dsR用于表示系统通信就绪,而Rts/cts用于单个数据包的传输。在labwindows,函数setctsmode使能或者禁止使用硬件握手。如果cts模式使能,labwindows使用如下规则:当pc发送数据:Rs-232库必须检测cts线高后才能发送数据。当pc接收数据:第34页共35页如果端口打开,且输入队列有空接收数据,库函数置高Rts和dtR。如果输入队列90%满,库函数置低Rts,但使dtR维持高电平。如果端口队列近乎空了,库函数置高Rts,但使dtR维持高电平。如果端口关闭,库函数置低Rts和dtR。c,xmodem握手:最后讨论的握手叫做xmodem文件传输协议。这个协议在modem通信中非常通用。尽管它通常使用在modem通信中,xmodem协议能够直接在其他遵循这个协议的设备通信中使用。在labwindows中,实际的xmodem应用对用户隐藏了。只要pc和其他设备使用xmodem协议,在文件传输中就使用labwindows的xmodem函数。函数是xmodemconfig,xmodemsend和xmodemReceive。xmodem使用介于如下参数的协议:第35页共35页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字节大小的',)
提供can串口通信协议,android串口通信协议会员下载,编号:1700673265,格式为 docx,文件大小为35页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。