MODBUS协议的CRC校验子程序代码_第1页
MODBUS协议的CRC校验子程序代码_第2页
MODBUS协议的CRC校验子程序代码_第3页
MODBUS协议的CRC校验子程序代码_第4页
MODBUS协议的CRC校验子程序代码_第5页
全文预览已结束

下载本文档

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

文档简介

1、总线论坛 -Fieldbus首页?现场总线和工业以太网技术?Modbus?MODBUS协议的CRCK验子程 序代码,包括VB, VC和asm51汇编lidan - 2007-4-19 7:37:00MODBUS协议规定:上位机发送8 个字节召测指令,其中地址、设备类别、通信路由、指令类别、指令长度、指令各占1个字节,CR或验码占2个字节;下位机应答7个 字节,地址、设备类别、数据长度各占 1个字节,数据、CR或验码各占2个 字节。MODBUS协议规定CRCK验规则:CRCW始化为 &HFF (CRC_L=&HFF,CRC_H=&HFF各 CRCjLf传输的第一个 字节进

2、行异或运算,然后将 CRCffi行右移(不循环)并判断:如移出的位为1,则CRCM与&HA001进行一次异或运算;如移出的位为0,则CR坏变。如此右移8次即完成第一个字节的校验,重复上述运算及右移 直至将全部字节校验完毕,所生成的CRC( 16 位)即为传输校验码。为方便读者使用MODBUS协议,将VC、 VB、ASM51环境下MODBUSB议的CR或验子程序代码一并给出,供读者 参考。VC源代码CODE:/*CRC Calculation for MODBUS Protocol for VC */数组snd为地址等传输字节,num为字节数,发为6收为5/unsigned int mb

3、_crc(BYTE *snd,int num) int i,j;unsigned int c,crc=0xFFfor (i=0;i<num;i ) c=stri 0x00FF;crcA=c;for(j=0,j<8,j ) if (crc 0x0001)crc>>=1;crcA=0xA001;else crc>>=1return(crc);VB 源代码CODE:' /*CRC Calculation for MODBUS Protocol for VB*/Function mb_crc(ByRef snd() as BYTE,num as intege

4、r) as Longcrc_l=crc_h=HFFfor i=1 to numcrc_l=crc_l XOR snd(i)for j=1 to 8if crc_l AND 1 thencrc_l=(crc_l 1)/2if crc_h and 1 thencrc_l=crc_l 128crc_h=(crc_h 1)/2end ifcrc_l=crc_l XOR HA0crc_h=crc_h XOR H01else:crc_l=crc_l/2if crc_h and 1 thencrcl_l=crc_l 128crc_h=(crc_h 1)/2else:crc_h=crc_h/2end ifen

5、d ifnext jnext imb_crc=crc_l crc_h*256End FunctionASM51 源代码CODE:;CRC Calculation for MODBUS Protocol for ASM51;R1 为发送(接收)字节的缓存首地址;R2为发送(接收)字节的字节数(不含 CRC?节),;R3为CRCK验低位字节,;R4为CRCS验高位字节,CRC:MOV A,#0FFHMOV R4,AMOV R3,ACRC1: MOV A,R1XRL A,R3MOV R3,AMOV R2,#08HCRC8: CLR CMOV A,R4RRC AMOV R4,AMOV A,R3RRC AMOV R3,AJNC CRC10MOV A,R3XRL A,#

温馨提示

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

评论

0/150

提交评论