切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

1

主题

7

积分

0

精华

用户组 

易积分
10
热心
0
好评
0
[分享] 改进的Modbus中CRC16校验代码,同时感谢网友分享[复制链接]
发表于 2024-1-20 20:20:06 | 显示全部楼层 |阅读模式
改进的Modbus中CRC16校验代码,同时感谢网友yangneet的分享, 在他基础上修改的代码:
  1. 函数 CRC16_Modbus校验码(字节数据集 为 字节型(), 数据长度 为 整数型) 为 整数型
  2.         变量 crc 为 整数型, i 为 整数型, x 为 整数型, b 为 整数型
  3.        
  4.         'CRC初始值=0xFFFF 其它CRC可更改成对应的
  5.         crc = 65535
  6.        
  7.         '检查校验数据长度
  8.         如果 数据长度 > 取数组成员数(字节数据集) 则
  9.                 数据长度 = 取数组成员数(字节数据集)
  10.         结束 如果
  11.        
  12.         x = 0
  13.         判断循环首 x < 数据长度
  14.                 b = 字节数据集(x)                                        '取出字节数据
  15.                
  16.                 如果 b < 0 则                                                '最主要的是这句,必须转换成无符号数据
  17.                         b = b + 256
  18.                 结束 如果
  19.                
  20.                 crc = crc 异或 b
  21.                 i = 0
  22.                 判断循环首 i < 8
  23.                         如果 (crc 且 1) 则
  24.                                 crc = crc \ 2                                 '无符号右移1位
  25.                                 crc = crc 异或 40961                 '0xA001 其它CRC可更改成对应的
  26.                         否则
  27.                                 crc = crc \ 2                                 '无符号右移1位
  28.                         结束 如果
  29.                         i = i + 1
  30.                 判断循环尾
  31.                 x = x + 1
  32.         判断循环尾
  33.         CRC16_Modbus校验码 = crc                                '返回CRC校验码
  34. 结束 函数
复制代码
CRC校验测试.rar (38.14 KB, 下载次数: 8)
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

3

主题

49

积分

0

精华

用户组 

易积分
38
热心
0
好评
0
QQ
发表于 2024-1-20 23:19:08 | 显示全部楼层
777777777777777777777777777777777777
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

184

积分

0

精华

用户组 

易积分
50
热心
0
好评
0
发表于 2024-1-21 23:31:50 | 显示全部楼层
同时感谢网友分享
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

5

主题

53

积分

0

精华

用户组 

易积分
1
热心
0
好评
0
QQ
发表于 2024-1-23 08:33:33 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
1523654
回复

使用道具 举报

5

主题

53

积分

0

精华

用户组 

易积分
1
热心
0
好评
0
QQ
发表于 2024-1-24 09:13:18 | 显示全部楼层
易如意中文编程学习交流论坛有你更精彩~
1523654
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2024-5-3 04:29 , Processed in 0.056169 second(s), 37 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部