可变信息标志通讯协议(显科)_第1页
可变信息标志通讯协议(显科)_第2页
可变信息标志通讯协议(显科)_第3页
可变信息标志通讯协议(显科)_第4页
可变信息标志通讯协议(显科)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 可变信息标志通信协议1 文档历史发放及记录2014-72 本文档说明3 通信协议说明3.1 协议适用范围本协议为上位机和设备的通信的应用协议,与通信方式无关. 所以同时适用于串口,485,无线和以太网等通迅方式.具体设置如下:l 串口和485和无线.这几种通信方式实际都是采用串口来通信.相关参数如下所示:u 波特率 - 2400-19200可调u 数据位 - 8u 奇偶校验 - 无校验u 停止位 - 1u 流控制 - 无l 以太网.系统使用TCP连接,设备作为服务器段,中心控制软件作为客户端. 可使用在10-100m以太网中,推荐采用10m半双工通信模式.ip地址可以根据具体项目的环境配置.

2、端口固定为5168. 注意网络通信模式有两种方式:l 长连接方式.系统一开始就建立起TCP/IP连接.中间发送指令不需要建立连接.缺点是长时间运行,在网络环境不好断线的境况下.维护连接比较麻烦.l 短连接.每次发送指令都连接一次.完成指令通信后就断掉连接.缺点是每次发送连接麻烦.3.2 协议通信流程本协议为主-从结构的半双工通信方式。监控中心计算机,手持单元或其它数据终端为主站,可变限速标志或可变信息标志为从站。每个可变信息标志均有独立的地址编码。3.3 指令基本结构帧是传送信息的基本单元。帧格式如图8 所示。 说 明 代 码 帧头0x02H指令编码C设备编码A0数据域DATA校验码CS帧尾0

3、x03H3.3.1 指令头3.3.2 帧头指令开始标识,值固定为0x02H=00000010B。如在指令帧头与帧尾之间有任意字节等于 STX,ETX 或 ESC,则需转义,具体如下 转义前转义后STX - 0x02(帧头)STX 转成 ESC 和 0xE7ETX - 0x03(帧尾)ETX 转成 ESC 和 0xE8ESC - 0x1B (转义符)ESC 转成 ESC 和 0x003.3.3 设备编码由2个字节构成可以为监控中心通讯设备、可变限速标志,可变信息标志等设备号等。具体使用可由用户自行决定。当地址为 0x00H 时,为广播地址。范围 '01' - '99

4、9;3.3.4 指令编码2个字节,范围 “00”“99”。具体见协议详解3.3.5 指令体应用数据区,不定长数据.根据具体指令而定. 具体见协议详解3.3.6 校验码采用CRC 2字节校验,计算范围 = 指令编码 + 设备编码 + 数据域 .计算方法见【附录一】.3.3.7 帧尾指令开始标识,值固定为0x02H=00000010B。如在指令帧头与帧尾之间有任意字节等于 STX,ETX 或 ESC,则需转义,具体如下 转义前转义后STX - 0x02(帧头)STX 转成 ESC 和 0xE7ETX - 0x03(帧尾)ETX 转成 ESC 和 0xE8ESC - 0x1B (转义符)ESC 转成

5、 ESC 和 0x003.4 指令一览表指令描述备注设备控制指令通信状态测试通信状态好坏设备总状态获得设备的总状态设备详细状态获得设备的详细状态参数设备led灯状态获得设备坏点数和坐标重新启动计算机重新启动计算机打开关闭设备开关屏及其他设备指令获得亮度控制模式获得亮度模式设置亮度控制模式设置亮度控制模式设置设备电源模式设置电源控制模式获得通道信息获取设备显示通道信息好坏内容发布相关文件下发通用文件下发命令文件上传通用文件上传命令显示指定列表显示制定列表获得当前显示列表获得当前设备显示列表文件名获得当前显示内容获得当前设备显示具体内容维护指令时间同步同步设备时间获取当前时间获得设备当前时间获取启

6、动时间获得最后一次启动时间获取当前版本获取设备当前版本(主程序,协议版本,列表版本)4 指令详解4.1 通讯状态检测通讯状态检测功能描述通讯状态检测预置条件检测系统的通讯状态指令格式0x02(帧头) 0x30 0x30(指令头) 0x30 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x30(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常 ) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例指令说明4.2 总状态检测总状态检测功能描述本指令向显示设备查询设备的总状态,用于平时的

7、设备状态监控。预置条件指令格式0x02(帧头) 0x30 0x31(指令头) 0x32 0x32(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x31 (指令头)0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 (设备状态,1个字节30表示异常,31表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解九个状态值,分别代表:通讯、电源电压、风扇、门开关状态、系统、驱动通道、LED像

8、素、感光头、防雷器,其他保留应用举例指令说明4.3 获得设备详细状态获得设备详细状态功能描述作为一条测试和维护指令,本指令获得设备详细状态。预置条件指令格式0x02(帧头) 0x30 0x37(指令头) 0x32 0x32(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x37(指令头)0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00 (箱体个数,2个字节,以ascii码表示,0x3032表示为 箱体) 0x30 0x30 0x30 (亮度A) 0x30 0x30 0x30 (亮度B) 0x3

9、0 0x30 0x30 (总温度)0x30 0x30 0x30 (220v电源) 0x30 0x30 0x30 (防雷器)0x00 0x00 。0x00 0x00 (单箱体状态,不定长数据,长度 = 箱体个数X30,每个箱体的状态如下: 8个箱体状态数据,字节为24个字节,分别是“温度”、“电源1”、“电源2”、“电源3”、“电源4”、“电源5”、“门开关”、“保留”,温度和电源是实际数值,门开关正常值是3;然后是箱体驱动好坏,3个字节,1是正常; 最后是单元系统好坏,3个字节,5是正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.4 获得屏幕坏点数获得屏幕坏点数功能描

10、述作为一条测试和维护指令,本指令返回屏幕坏点数。预置条件作为一条测试和维护指令,本指令返回屏幕坏点数。指令格式0x02(帧头) 0x30 0x32(指令头) 0x32 0x32(目的地址) 0x30(是否返回坏点坐标,0X30为不返回坏点坐标,0X31为返回坏点坐标)0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x32(指令头)0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00 0x00 0x00 0x00 0x00 (失效点数,6个字节,以ascii码表示) 0x30 0x30 0x30 (屏体宽度)

11、0x30 0x30 0x30 (屏体高度)0x00 0x00 。0x00 0x00 (led状态数据,不定长数据,八个点一个字节,自己的每个位为点的好坏,1是坏点,0是好点,排列顺序是从左到右,从上到下. 当选择不返回坐标时,本数据不返回) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.5 获得设备驱动通道信息的好坏获得设备驱动通道信息的好坏功能描述作为一条测试和维护指令,本指令返回驱动好坏。预置条件作为一条测试和维护指令,本指令返回驱动好坏。指令格式0x02(帧头) 0x30 0x39(指令头) 0x32 0x32(目的地址) 0x00 0x00(校验位) 0x03(帧尾

12、)返回值0x02(帧头) 0x30 0x39(指令头)0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00 0x00 0x00 0x00 0x00 (96个字节,0x30为异常,0x31为正常, 6个字节为一个单元的6个驱动通道,总共16个单元.每8 列为一个驱动通道,320宽的屏体有10个单元,每单元4个驱动通道) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.6 手动复位可变信息标志手动复位可变信息标志功能描述手动复位可变信息标志预置条件重新复位可变信息标志。主要用于在修改了下位机的配置文件后,需要重新复位来使配置生效

13、。指令格式0x02(帧头) 0x30 0x33(指令头) 0x31 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x33(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.7 设置设备电源控制模式设置设备电源控制模式功能描述设置设备电源控制模式预置条件设置设备电源控制模式指令格式0x02(帧头) 0x30 0x38(指令头) 0x31 0x31(目的地址) 0x31(需要设置的电源模式,x030为普通模式,0x31为省电模式)

14、0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x38(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.8 打开/关闭系统设备打开/关闭系统设备功能描述本指令打开关闭系统设备。预置条件在正常的运行中,下位机会自动根据设备运行状态自动打开或关闭,特殊的情况下才使用本命令手动开关可变信息标志的相关设备。指令格式0x02(帧头) 0x30 0x34(指令头)0x32 0x32(目的地址) 0x00(设备定义,0x30为可变信息标志电源,其他预留) 0x0

15、0(开/关,0x31 表示打开,0x30 关闭) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x34(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常)0x00(设备定义,0x30为可变信息标志,其他预留设备) 0x00(设备当前状态,0x31 表示设备打开,0x30表示设备关闭) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.9 获取亮度调节方式和当前显示亮度获取亮度调节方式和当前显示亮度功能描述获取亮度调节方式和当前显示亮度预置条件设备共有两种亮度控制方式:手动控制。手动控制主要在自动控制

16、发生故障时使用(比如光敏电阻失效时)。自动控制。根据环境亮度的检测自动调节屏体亮度。指令格式0x02(帧头) 0x30 0x35(指令头) 0x31 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x30 0x35(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x01(亮度模式,0x30 手动,0x31 自动,0x32 程序调光 ) 0x32 0x32(红色, 亮度级别031) 0x00 0x00(绿色, 亮度级别031) 0x00 0x00(蓝色, 亮度级别031) 0x00 0x00(环境亮度

17、) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.10 设置亮度信息设置亮度信息功能描述本指令设置亮度信息预置条件设备共有两种亮度控制方式:手动控制。手动控制主要在自动控制发生故障时使用(比如感光头失效时)。自动控制。根据环境亮度的检测自动调节屏体亮度。指令格式0x02(帧头) 0x30 0x36(指令头)0x31 0x31(目的地址) 0x30(调整模式,30为可调,31为自动) 0x00 0x00(红色, 亮度级别031) 0x00 0x00(绿色, 亮度级别031) 0x00 0x00(蓝色, 亮度级别031) 0x00 0x00(校验位) 0x03(帧尾)返回值0x

18、02(帧头) 0x30 0x36(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x30(调整模式,30为可调,31为自动) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.11 文件下发指令文件发送指令功能描述文件发送指令预置条件文件发送指令,本指令作为通用文件发送指令。可以向下位机发送到xkcms目录下的任何文件,包括播放列表文件,图片文件,字体文件,系统配置文件,硬件配置文件以及程序升级文件等。需要注意的是,在往下面发送相应文件时,需要加上文件的目录和文件本身。指令格式0x02(帧头) 0x32 0x30(指令头) 0x

19、31 0x31(目的地址) 0x37(0x30更新,0x31立即显示,0x32重新启动,默认为0x31) 0x37(文件帧标记,0x30 覆盖【头帧或唯一帧】,0x31 追加【中间帧】,0x32 帧结束) 0x30 0x30 0x30(文件名长度)0x30 。 0x30 (文件名,不定长度,包括文件路径,默认起始目录为xkcms,例如发送播放列表文件000.xkl时,文件名为 list000.xkl。) 0x30 0x30 0x30 0x30 (帧序列,即文件偏移地址为帧序列x 2048个字节) 0x30 。 0x30 (文件具体内容,不定长度)0x00 0x00(校验位) 0x03(帧尾)返

20、回值0x02(帧头) 0x32 0x30(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解下位机的目录如下:xkcms -主目录-animate -动画文件目录 -000.xka -动画文件 -001.xka -. -010.xka-font -字体文件,不需要更新,就不列出-image -图片目录 -000.bmp -图片文件 -001.bmp -. -049.bmp-list -播放列表目录 -000.xkl -播放列表文件 -001.xkl -. -099.xkl-log -运行日志目录

21、文件 -xxxxxxxx.log -xxxxxxxx是日期的八位数字-temp -临时目录bright.cfg -亮度配置文件device.cfg -设备配置文件xkcms.cfg -系统配置文件xkcms.exe -主程序如果需要发送播放列表,则文件名为:list000.xkl.其他以此类推。l 文件偏移地址-读文件偏移指读取文件内容时文件指针的偏移字节数。l 一次下载文件内容不超过 2048 字节,如果文件长度超过 2048 字节,必须分 多次下载直至文件内容为 0 字节。应用举例4.12 文件读取指令文件读取指令功能描述文件读取指令预置条件文件读取指令指令格式0x02(帧头) 0x32

22、0x31(指令头) 0x31 0x31(目的地址) 0x30 0x30 0x30(文件名长度)0x30 。 0x30 (文件名,不定长度,包括文件路径,默认起始目录为xkcms,例如发送播放列表文件000.xkl时,文件名为 list000.xkl。) 0x30 0x30 0x30 0x30 (帧序列,即文件偏移地址为帧序列x 2048个字节) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x32 0x31(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解下位机的目录

23、如下:xkcms -主目录-animate -动画文件目录 -000.xka -动画文件 -001.xka -. -010.xka-font -字体文件,不需要更新,就不列出-image -图片目录 -000.bmp -图片文件 -001.bmp -. -049.bmp-list -播放列表目录 -000.xkl -播放列表文件 -001.xkl -. -099.xkl-log -目录文件-temp -临时目录bright.cfg -亮度配置文件device.cfg -设备配置文件xkcms.cfg -系统配置文件xkcms.exe -主程序如果需要发送播放列表,则文件名为:list000.x

24、kl.其他以此类推。l 文件偏移地址-读文件偏移指读取文件内容时文件指针的偏移字节数。l 一次下载文件内容不超过 2048 字节,如果文件长度超过 2048 字节,必须分 多次下载直至文件内容为 0 字节。应用举例4.13 显示指定显示列表显示指定显示列表功能描述本指令告诉下位机显示已经存储在下位机的哪一个播放列表文件。预置条件作为下位机,本地存储器可以存储99个播放列表,里面存储一些常见的交通信息。用户通过本指令就可以简单让下位机显示想要的内容。指令格式0x02(帧头)0x32 0x32(指令头)0x31 0x31(目的地址)0x470x46(文件名,“000.xkl”,7个字节,其中”00

25、0“为播放列表的编码,范围是000999) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头)0x32 0x32(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.14获取当前显示列表获取当前显示列表功能描述本指令读取当前显示列表文件的编号。预置条件有时不知道下位机正在显示什么内容时,本指令可获得正在显示的显示列表编号。指令格式0x02(帧头) 0x32 0x33(指令头) 0x31 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02

26、(帧头) 0x32 0x33(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x470x46(文件名,“000.xkl”,7个字节,其中”000“为播放列表的编码,范围是0000999) 0x00 0x00(校验位) 0x03(帧尾)指令详解应用举例4.15同步下位机时间同步下位机时间功能描述同步下位机时间预置条件同步下位机时间指令格式0x02(帧头) 0x34 0x30(指令头) 0x32 0x32(目的地址) 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0

27、x30(14位时间) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x34 0x30(指令头) 0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x00 0x00(校验位) 0x03(帧尾)指令详解14字节为时间的字符串 如 “ 20071001020315”应用举例4.16读取下位机时间读取下位机时间功能描述读取下位机时间预置条件读取下位机时间指令格式0x02(帧头) 0x34 0x31(指令头) 0x30 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x34 0x31(指令头)0

28、x30 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 (14位时间) 0x00 0x00(校验位) 0x03(帧尾)指令详解14字节为时间的字符串 如 “ 20071001020315”应用举例4.17获取启动时间获取启动时间功能描述获取启动时间预置条件获取启动时间指令格式0x02(帧头) 0x34 0x32(指令头) 0x31 0x31(目的地址) 0x00 0x00(校验位) 0x03(帧尾)返回值0x02(帧头) 0x3

29、4 0x32(指令头)0x31 0x31(目的地址) 0x01(指令执行情况,00表示异常,01表示正常) 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x30 (14位时间) 0x00 0x00(校验位) 0x03(帧尾)指令详解14字节为时间的字符串 如 “ 20071001020315”应用举例【附录一】 CRC 算法的 C 语言实现unsigned short gen_crc(const unsigned char *buffer, int buffer_length) unsigned char c

30、, treat, bcrc; unsigned short wcrc = 0; int i, j; for (i = 0; i < buffer_length; i+) c = bufferi; for (j = 0; j < 8; j+) treat = c & 0x80; c <<= 1; bcrc = (wcrc >> 8) & 0x80; wcrc <<= 1; if (treat != bcrc) wcrc = 0x1021; return wcrc;【附录二】 CRC 算法的 C 语言实现(查表法)unsigned s

31、hort crc_table256 =0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,0x2462, 0x3443, 0x0420, 0x140

32、1, 0x64E6, 0x74C7, 0x44A4, 0x5485,0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,0xC9CC, 0xD9ED

33、, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49

34、,0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C,

35、 0xE37F, 0xF35E,0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,0x26D3, 0x36F2, 0x0691, 0x16B0,

36、0x6657, 0x7676, 0x4615, 0x5634,0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,0xFD2E, 0xED0F, 0

37、xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0;unsigned short gen_crc(const unsigned char *buffer, int buffer_length)unsigned short crc = 0;int i;for (i = 0; i < buffer_length; i+)crc = crc_table(crc >> 8) bufferi) & 0xFF (crc << 8);return crc;【附录三】 CRC 算法的 Delphi 实现function gen_crc(const Buffer:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论