串行通信协议

合集下载

几种流行的串行通信协议

几种流行的串行通信协议

几种流行的串行通信协议最被人们熟悉的串行通信技术标准是EIA-23二、EIA-422和EIA-485,也确实是以前所称的RS-23二、RS-422和RS-485。

由于EIA提出的建议标准都是以“RS”作为前缀,因此在工业通信领域,仍然适应将上述标准以RS作前缀称呼。

EIA-23二、EIA-422和EIA-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,EIA-232在1962年发布,后来陆续有很多改良版本,其中最经常使用的是EIA-232-C 版。

目前EIA-232是PC机与通信工业中应用最普遍的一种串行接口。

EIA-232被概念为一种在低速度串行通信中增加通信距离的单端标准。

EIA-232采取不平稳传输方式,即所谓单端通信。

标准规定,EIA-232的传送距离要求可达50英尺(约15米),最高速度为20kbps。

由于EIA-232存在传输距离有限等不足,于是EIA-422诞生了。

EIA-422标准全称是“平稳电压数字接口电路的电气特性”,它概念了一种平稳通信接口,将传输速度提高到10Mbps,传输距离延长到4000英尺(约1219米),并许诺在一条平稳总线上连接最多10个接收器。

固然,EIA-422也有缺点: 因为其平稳双绞线的长度与传输速度成反比,因此在100kbps速度之内,传输距离才可能达到最大值,也确实是说,只有在很短的距离下才能取得最高传输速度。

一样在100米长的双绞线上所能取得的最大传输速度仅为1Mbps。

另外有一点必需指出,在EIA-422通信中,只有一个主设备(Master),其余为从设备(Salve),从设备之间不能进行通信,因此EIA-422支持的是点对多点的双向通信。

为扩展应用范围,EIA于1983年在EIA-422基础上制定了EIA-485标准,增加了多点、双向通信能力,即许诺多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突爱惜特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

串行通信协议

串行通信协议

串行通信协议串行通信是一种在计算机系统中广泛使用的数据传输方式,它通过一根传输线路逐位地传送数据,相比并行通信具有更简单、更经济的优势。

在串行通信中,数据按照一定的协议进行传输,而串行通信协议则是规定了数据传输的格式、时序、电气特性等规范,以确保数据的可靠传输。

本文将介绍串行通信协议的基本原理、常见类型以及应用场景。

首先,串行通信协议可以分为同步和异步两种类型。

同步串行通信协议是指在数据传输过程中,发送端和接收端需要通过时钟信号进行同步,以确保数据的稳定传输。

常见的同步串行通信协议包括SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)和RS-232等。

而异步串行通信协议则是指数据传输过程中不需要时钟信号同步,而是通过起始位、数据位、校验位和停止位等组合来进行数据传输。

常见的异步串行通信协议包括UART(Universal AsynchronousReceiver/Transmitter)和USB(Universal Serial Bus)等。

其次,串行通信协议在实际应用中具有广泛的应用场景。

在嵌入式系统中,SPI和I2C协议常用于连接微控制器与外围设备,如存储器、传感器等,实现数据的快速传输和通信。

而在计算机外设接口中,USB协议则成为了连接键盘、鼠标、打印机、摄像头等外部设备的标准接口,实现了设备之间的高速数据传输和通信。

另外,在工业控制领域,RS-232和RS-485等协议被广泛应用于PLC (Programmable Logic Controller)、传感器、执行器等设备之间的通信,实现了工业自动化控制系统的稳定运行。

最后,随着物联网、人工智能、自动驾驶等新兴技术的快速发展,对串行通信协议的需求也日益增加。

未来,串行通信协议将继续发展,以适应更多元化、复杂化的应用场景,同时也需要更加严格的协议标准和更可靠的数据传输技术,以满足不断增长的数据传输需求。

单片机通讯协议有哪些

单片机通讯协议有哪些

单片机通讯协议有哪些1. 串行通信协议串行通信协议是一种逐位传输数据的通信协议,常用于单片机与外部设备之间的通信。

以下是几种常见的串行通信协议:(1) 串行通信协议1该协议使用一条数据线和一条时钟线进行通信。

数据线上的数据根据时钟线上的时钟信号进行同步传输。

这种协议简单易用,适合短距离通信。

(2) 串行通信协议2该协议采用多条数据线和一条时钟线进行通信。

数据线上的数据同时传输,时钟信号用于同步数据。

这种协议具有较高的传输速率和抗干扰能力,适合长距离通信。

(3) 串行通信协议3该协议使用一条数据线和一条使能线进行通信。

数据线上的数据根据使能线上的使能信号进行传输。

这种协议适合于低速率的通信。

2. 并行通信协议并行通信协议是一种同时传输多个数据位的通信协议,常用于高速数据传输。

以下是几种常见的并行通信协议:(1) 并行通信协议1该协议使用多条数据线进行通信,每条数据线传输一个数据位。

并行通信协议1适用于要求高速率和并行传输的应用。

(2) 并行通信协议2该协议使用多条数据线传输多个数据位,并使用握手信号进行数据的同步。

并行通信协议2具有较高的传输速率和较低的传输延迟,适用于多媒体数据传输等应用。

(3) 并行通信协议3该协议使用多条数据线进行通信,并采用差分信号传输方式,提高了抗噪声和抗干扰能力。

并行通信协议3适用于长距离通信和高速数据传输。

3. 总线通信协议总线通信协议是一种多个设备共享同一条数据线进行通信的协议,常用于单片机与外围设备的通信。

以下是几种常见的总线通信协议:(1) 总线通信协议1该协议采用主从结构,主设备控制整个通信过程,从设备根据主设备的指令进行响应。

总线通信协议1具有简单可靠的特点,适用于小规模系统。

(2) 总线通信协议2该协议采用多主结构,多个主设备可以同时控制总线上的从设备。

总线通信协议2适用于大规模系统和多任务环境。

(3) 总线通信协议3该协议采用分布式结构,各个设备之间通过总线进行通信。

常用硬件通信协议

常用硬件通信协议

常用硬件通信协议硬件通信协议是指用于硬件设备之间传输数据的规范和约定。

它们定义了数据的格式、传输方式以及通信双方之间的交互规则。

常用的硬件通信协议有以下几种。

一、串行通信协议1. RS-232:RS-232是一种常用的串行通信协议,用于连接计算机和外部设备,如调制解调器、打印机等。

它使用串行传输方式,通过发送和接收数据来实现通信。

2. RS-485:RS-485是一种多点传输的串行通信协议,常用于工业自动化领域。

它支持多个设备同时进行通信,并具有较长的传输距离和较高的传输速率。

二、并行通信协议1. GPIB:GPIB是一种用于仪器仪表间通信的并行通信协议,它提供了高速、可靠的数据传输和控制功能。

GPIB通常用于实验室、测试设备等场合。

2. SCSI:SCSI是一种用于连接计算机和外部设备的并行通信协议,它支持多个设备同时进行通信,并具有较高的传输速率和较长的传输距离。

三、总线通信协议1. USB:USB是一种常用的总线通信协议,用于连接计算机和外部设备,如打印机、键盘、鼠标等。

它支持热插拔和即插即用功能,提供了高速、可靠的数据传输。

2. Ethernet:Ethernet是一种用于局域网通信的总线通信协议,它支持高速数据传输和多设备同时通信。

Ethernet广泛应用于互联网、企业网络等领域。

以上是常用的硬件通信协议,它们在不同的应用场景中发挥着重要的作用。

通过合理选择和使用这些协议,可以实现硬件设备之间的高效通信和数据传输。

无论是连接计算机和外部设备,还是实验室、工业自动化等领域的通信需求,都可以选择适合的协议来实现。

这些协议的不断发展和创新,将为硬件通信提供更加便捷和可靠的解决方案。

单片机与外部设备的通信协议解读与应用实践

单片机与外部设备的通信协议解读与应用实践

单片机与外部设备的通信协议解读与应用实践单片机是指在一个芯片上集成了中央处理器、存储器、输入输出设备和通信设备等功能的微型计算机系统。

它广泛应用于各种电子设备和嵌入式系统中,实现对外部设备的控制和数据传输。

为了实现单片机与外部设备之间的通信,需要采用一种通信协议,以确保数据的可靠传输和正确解析。

本文将对常见的单片机通信协议进行解读,并结合实例进行应用实践。

一、串行通信协议串行通信协议是一种将数据位逐位地传输的通信方式,常见的串行通信协议包括UART、SPI和I2C等。

1. UART(通用异步收发传输)UART是一种通用的异步串行通信协议,用于单片机与外部设备之间的数据传输。

UART使用起始位、数据位、校验位和停止位来组成一个完整的数据帧。

通过波特率的设置,可以实现不同的数据传输速率。

UART通信协议简单易用,广泛应用于各类串行设备间的通信。

2. SPI(串行外设接口)SPI是一种同步串行通信协议,用于连接单片机与外部设备,例如存储器、传感器等。

SPI协议使用一个主设备和一个或多个从设备之间的全双工通信方式。

通信过程中,主设备通过时钟信号控制数据的传输,从设备通过选择信号确定通信目标。

SPI通信速度较快,适用于对速度要求较高的应用场景。

3. I2C(串行外设接口)I2C是一种双线制串行通信协议,用于各种设备间的通信,例如传感器、显示器等。

I2C通信协议使用两根总线线路:串行数据线(SDA)和串行时钟线(SCL)。

通过主设备发出的时钟信号控制数据的传输。

I2C协议具有多设备共享同一条总线的特点,适用于多个设备之间交互数据的场景。

二、并行通信协议并行通信协议是一种同时传输多个数据位的通信方式,常见的并行通信协议有8位并行、16位并行和32位并行等。

并行通信协议在数据传输速度上具有明显优势,但在布线和硬件接口上相对复杂,因此一般适用于短距离和高速数据传输的场景。

三、无线通信协议随着无线通信技术的发展,越来越多的单片机应用采用无线通信协议与外部设备进行数据传输。

串行通讯协议(modbus)

串行通讯协议(modbus)

串行通讯协议(MODBUS)变频电源提供RS232/RS485通讯接口,并采用MODBUS通讯协议。

用户可以通过计算机或PLC实现集中控制,设定变频电源运行命令,修改或读取功能参数,读取变频电源的工作状态及故障信息等。

一、协议内容该串行通信协议定义了串行通信中传输的信息内容及使用格式。

其中包括:主机轮询(或广播)格式;主机的编码方法,内容包括:要求动作的功能码,传输数据及错误校验等。

从机的响应也是采用相同的结构,内容包括:动作确认,返回数据和错误校验等。

如果从机在接收数据时发生错误,或不能完成主机要求的动作,它将组织一个故障信息作为响应反馈给主机。

二、应用方式变频电源接入具备RS232/RS485总线的“单主多从”PC/PLC控制网络。

三、总线结构(1)接口方式:RS232/RS485硬件接口。

(2)传输方式:异步串行,半双工传输方式。

在同一时刻主机和从机只能有一个发送数据而另一个只能接收数据。

数据在异步串行通信过程中,是以报文的形式,一帧一帧发送。

(3)拓扑结构:单主机多从机系统。

从机地址的设定范围为1-247,0为广播通讯地址。

网络中的从机地址必须是唯一的。

四、协议说明变频电源通信协议是一种异步串行的主从MODBUS通信协议。

网络中只有一个设备(主机)能够建立协议(称为“查询/命令”)。

其他设备(从机)只能通过提供数据响应主机的“查询/命令”,或根据主机的“查询/命令”做出相应的动作。

主机在此是指计算机(PC)、工业控制设备或可编程逻辑控制器(PLC)等,从机是指变频电源。

主机既能对某个从机单独进行通信,也能对所有下位从机发布广播信息。

对于单独访问的主机“查询/命令”,从机都要返回一个信息(称为响应),对于主机发出的广播信息,从机无需反馈响应给主机。

五、协议格式变频电源的MODBUS通讯使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。

传输的第一个域是设备地址。

可以使用的传输字符是十六进制的0…9,A…F。

串行通信协议

串行通信协议1. 引言串行通信协议是用于在两个或多个设备之间传输数据的一种方式。

串行通信协议在计算机网络、电信系统、嵌入式系统等领域都得到了广泛应用。

本文将介绍串行通信协议的基本概念、工作原理以及常见的串行通信协议。

2. 串行通信协议的基本概念串行通信协议是一种用于在数字系统中传输数据的通信协议。

与并行通信协议相比,串行通信协议只使用一个数据线来传输数据,而不是同时使用多个数据线。

串行通信协议具有以下几个基本概念:•位:串行通信协议将数据划分为一个个位进行传输。

每个位可以是0或1,代表不同的电平。

•帧:帧是串行通信协议中的基本数据单位。

它由一个或多个位组成,并包含数据和控制信息。

•起始位和停止位:起始位和停止位用于标识一个帧的开始和结束。

通常情况下,起始位为低电平,停止位为高电平。

•校验位:校验位用于检测数据传输过程中的错误。

常见的校验方式包括奇偶校验、循环冗余校验等。

3. 串行通信协议的工作原理串行通信协议的工作原理可以分为以下几个步骤:1.发送端将待发送的数据按照指定的格式组织成帧,并通过串行通信线路发送给接收端。

2.接收端将接收到的数据解析成帧,并进行校验。

3.接收端根据校验结果决定是否接受数据,如果数据正确无误,则进行相应的处理,否则请求重新发送。

4.发送端根据接收端的请求重新发送数据。

5.重复以上步骤,直到所有数据都被正确接收。

4. 常见的串行通信协议4.1 RS-232RS-232是一种常见的串行通信协议,广泛应用于计算机和外设之间的连接。

它使用最多三条信号线进行通信,包括发送线、接收线和地线。

RS-232协议支持最大波特率为115200。

4.2 I2CI2C(Inter-Integrated Circuit)是一种双线制串行通信协议,常用于连接微控制器与周边设备。

它只需使用两根信号线(时钟线和数据线),能够同时控制多个设备。

4.3 SPISPI(Serial Peripheral Interface)是一种同步串行通信协议,常用于各类外围设备的连接。

串行通信协议书

串行通信协议书甲方(提供方):_____________________地址:_________________________________法定代表人:__________________________职务:_________________________________乙方(接收方):_____________________地址:_________________________________法定代表人:__________________________职务:_________________________________鉴于甲方拥有先进的串行通信技术,乙方需要该技术以提升其产品或服务的通信能力,双方本着平等互利的原则,经友好协商,就串行通信技术的使用达成如下协议:第一条定义1.1 串行通信技术:指甲方拥有的,能够实现数据在串行通信线上传输的技术。

1.2 授权使用:指乙方根据本协议约定的条件和范围,使用甲方提供的串行通信技术。

第二条授权范围2.1 甲方授权乙方在本协议约定的地域范围内使用串行通信技术。

2.2 授权使用的具体范围、方式和期限由本协议第三条具体规定。

第三条授权条件及期限3.1 乙方应按照本协议约定支付相应的授权使用费用。

3.2 本协议授权使用的期限为自本协议生效之日起至____年____月____日止。

第四条授权使用费用及支付方式4.1 乙方应向甲方支付授权使用费用共计人民币/美元__________元(大写:____________________)。

4.2 支付方式为:_______________________________________。

第五条技术支持与维护5.1 甲方应向乙方提供必要的技术支持,确保乙方能够正常使用串行通信技术。

5.2 甲方应负责对串行通信技术进行定期维护和升级。

第六条保密条款6.1 双方应对本协议内容及在履行本协议过程中知悉的对方商业秘密予以保密。

单片机通讯协议有哪些

单片机通讯协议有哪些单片机通讯协议是指在单片机系统中,不同设备之间进行通讯时所遵循的规定和约定。

在实际的单片机应用中,通讯协议起着非常重要的作用,它决定了不同设备之间的数据交换方式和通讯流程。

下面我们将介绍一些常见的单片机通讯协议。

1. 串行通讯协议。

串行通讯协议是一种通过串行线路进行数据传输的通讯方式,常见的串行通讯协议包括UART、SPI和I2C。

UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通讯协议,它通过一根传输线路进行数据的串行传输,适用于中短距离通讯。

SPI(Serial Peripheral Interface)是一种同步串行通讯协议,它使用四根线路进行通讯,包括时钟线、数据线、主从选择线和从机输出线,适用于高速通讯和短距离通讯。

I2C(Inter-Integrated Circuit)是一种双向二线制串行总线,适用于多个设备之间的通讯,可以实现多主机和多从机的通讯。

2. 并行通讯协议。

并行通讯协议是一种通过并行线路进行数据传输的通讯方式,常见的并行通讯协议包括总线协议和并行接口协议。

总线协议是一种多设备共享同一总线进行通讯的协议,常见的总线协议包括ISA、PCI、USB等,适用于多设备之间的通讯和数据交换。

并行接口协议是一种通过并行接口进行数据传输的协议,常见的并行接口协议包括Centronics接口、IEEE-488接口等,适用于打印机、仪器设备等外部设备的通讯。

3. 网络通讯协议。

网络通讯协议是一种通过网络进行数据传输的通讯方式,常见的网络通讯协议包括TCP/IP、UDP、HTTP等。

TCP/IP是一种传输控制协议/因特网协议,它是互联网的核心协议,提供可靠的、面向连接的通讯服务,适用于大规模网络通讯。

UDP(User Datagram Protocol)是一种用户数据报协议,它是一种无连接的通讯协议,适用于实时性要求较高的通讯。

UART协议时序

UART协议时序UART协议是一种串行通信协议,UART表示通用异步收发传输(Universal Asynchronous Receiver/Transmitter)。

它是一种用于在计算机系统之间传输数据的通信协议,常用于串行通信接口(例如串口)。

1.串行传输:UART协议使用一根单独的传输线路进行数据传输,其中包括一个数据线(TX)和一个接收线(RX)。

发送方将要传输的数据进行串行化,并通过TX线逐位发送出去,接收方通过RX线逐位接受。

2.起始位:UART协议中为了同步发送和接收方的数据,需在每个数据帧的起始位置发送一个起始位作为同步信号。

常用的起始位为逻辑0。

3.数据位:UART协议中传输的数据位个数可以根据需求设定,常用的数据位为8位,即每个数据帧包含8个数据位。

4.停止位:UART协议中每个数据帧的末尾都会发送一个停止位,用于标志数据传输的结束。

常用的停止位为逻辑11.初始化:发送方和接收方需要通过UART协议进行数据通信前,需初始化串口的参数,如波特率、数据位数等。

2.数据发送:发送方将要传输的数据通过串口发送出去。

发送方首先发送一个起始位,然后逐位发送数据位,最后发送一个停止位。

3.数据接收:接收方通过串口接收发送方的数据。

接收方首先等待起始位的到来,然后依次接收数据位,并确保在停止位到来之前完成数据接收。

4.数据处理:接收方将接收到的数据进行处理,并根据需要作出相应的响应。

需要注意的是,UART协议是一种异步通信协议,发送方和接收方的时钟频率并不需要完全一致。

发送方和接收方的时钟频率可以有一定的误差,但误差不能太大,通常在5%以内。

此外,UART协议还可以通过校验位来确保数据的传输准确性。

校验位是发送方在每个数据帧中附加的一个用于错误检测的位,接收方通过验证校验位来检测数据传输过程中是否出现错误。

总结起来,UART协议通过起始位、数据位、停止位等时序控制信号,通过单根传输线路进行异步数据传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据采集串行通信协议版本 V6.0本协议采用Modbus RTU 通讯规约,可方便地进行读取基本变量、系统状态和修改系统时间操作。

1.物理接口1).串行通信口RS-485。

2).信息传输方式为:异步,1 位起始位,8 位数据位,1 位停止位。

3).数据传输速率(波特率bps):96004).字节间隔<1mm,帧间隔>4ms。

5).当传送2字节数据时,高8位在前,低8位在后;传送CRC16 校验码时,也是高8位在前,低8位在后。

6).传输的数据采用二进制码。

7).在系统中的地址为:1~254 可设定,广播命令地址为0, 255保留。

8) .为了提高总线利用率,本协议规定,如果主机在发送完一帧非广播命令后,200ms 内没有收完从机的响应信息,则可认为从机响应超时。

2.软件协议:利用通讯命令,可以进行读取每个模块的类型、量程、单位、报警点设定状态以及实时数据和其它报警情况等系统参数。

协议采用16 BIT CRC 校验方式,协议规定:CRC 校验码是从Address 到Data 区最后1 byte 数据的所有数据所产生的CRC 校验码,串行传送时高8 位在前,低8 位在后。

3.功能码03,读取点和返回值:利用该通讯命令,可以进行读取点(“保持寄存器”) 或返回值(“输入寄存器” )。

保持和输入寄存器是16 位整型(2 字节),并且返回值高位在前。

协议规定一次能读取单或多个寄存器地址(n 个整型数值,2×n BYTE)。

功能码03 被用作读取点和返回值。

从机响应的命令格式是从机地址、功能码、字节数、数据区及CRC 码。

数据区的数据都是以二个字节为一个读取单位,且如果两字节表示一个整型时,高位在前,低位在后。

CRC16 校验码高8 位在前,低8 位在后。

信息帧格式举例:从机地址为01,起始地址0002 的2 个寄存器地址。

此例中寄存器数据地址为:地址数据01 0804H02 1103H主机发送字节数举例从机地址 1 01 发送至从机功能码 1 03 读取寄存器起始地址 2 00 起始地址为 000201读取寄存器点数 2 00 读取2 个寄存器(共4 字节)02CRC 码 2 High 由主机计算得到的CRC16 码Low从机响应字节数举例从机地址 1 01 来自从机功能码 1 03 读取寄存器读取字节数 1 04 字节总数寄存器数据 4 08H 地址为01 内的内容04H 地址为01 内的内容11H 地址为02 内的内容03H 地址为02 内的内容CRC 码 2 High 由从机计算得到的CRC 码Low表1 功能码03 读取的数据及地址注:Alarm1<=Alarm2<=Alarm3<=Alarm4注意:1、上位机所发命令中“读取寄存器点数”是用一个整型(2 字节)数来通知从机,上位机要读取的寄存器数,在从机中每个寄存器由两个字节组成。

而从机发往上位机的“读取字节数”占响应报文一个字节,表示响应报文的数据区中的数据字节数,在数值上,“读取字节数”=2ד读取寄存器数”。

2、零点校正值和满度校正值对气体探测器无效3、滤波系数对气体探测器有效值为20~504、零点自校正对气体探测器最大校正量为量程的5%4.功能码06,设置单个寄存器:利用该通讯命令,进行单个寄存器的设置信息帧格式举例:从机地址为01,寄存器地址0002,设置数据:0001H(Type=0,Unit=1) 。

主机发送字节数举例从机地址 1 01 发送至从机功能码 1 06 设置单个寄存器寄存器地址 2 00 起始地址为 000202设置数据 2 00 Type[类型]01 Unit[单位]CRC 码 2 High 由主机计算得到的CRC16 码Low从机响应字节数举例从机地址 1 01 发送至从机功能码 1 06 设置单个寄存器寄存器地址 2 00 起始地址为 000202设置数据 2 00 Type[类型]01 Unit[单位]CRC 码 2 High 由主机计算得到的CRC16 码Low注意:如果从机返回数据与发送设置数据不一致,表示该寄存器数据不允许设置。

附件:CRC16 校验算法const unsigned char auchCRCHi[]={0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40};/* Table of CRC values for low-order byte */const unsigned char auchCRCLo[]={0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE, 0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26, 0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4,0x6C,0xAC,0xAD,0x6D,0xAF,0x6F, 0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,0x78,0xB8,0xB9,0x79,0xBB, 0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,0xB4,0x74,0x75,0xB5, 0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C, 0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40};unsigned int CRC16(unsigned char *puchMsg,unsigned char usDataLen){unsigned char uchCRCHi=0xFF ; /* 初始化高字节*/unsigned char uchCRCLo=0xFF ; /* 初始化低字节*/unsigned char uIndex ;unsigned int i;while (usDataLen--){uIndex=uchCRCHi^*puchMsg++;uchCRCHi=uchCRCLo^auchCRCHi[uIndex];uchCRCLo=auchCRCLo[uIndex];}i=uchCRCHi;i<<=8;i|=uchCRCLo;return (i);}__。

相关文档
最新文档