实验指令: 前23位表示 信息头 + 信息内容。24,25位是待计算的校验位。26位是结束码

7E 01 00 00 01 10 02 00 27 00 0C 00 02 00 00 00 00 00 50 00 3C 00 03 90 0B 0D

在线计算

代码实现

#include <stdio.h>
#include <Windows.h>UINT8 data[23] = { 0x7E, 0x01, 0x00, 0x00, 0x01, 0x10, 0x02, 0x00, 0x27, 0x00, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x3C, 0x00, 0x03 };/*
* 函数名 :CRC16
* 描述 : 计算CRC16
* 输入 : ptr---数据,len---长度
* 输出 : 校验值
*/
UINT16 CRC16(UINT8 *ptr, UINT16 len)
{unsigned char i;unsigned short crc = 0xFFFF;if (len == 0) {len = 1;}while (len--) {crc ^= *ptr;for (i = 0; i<8; i++){if (crc & 1) {crc >>= 1;crc ^= 0xA001;} else {crc >>= 1;}}ptr++;}return(crc);
}int main()
{printf("%04x\n", CRC16(data, 23));getchar();
}

CRC-16/MODBUS 校验位计算相关推荐

  1. modbus协议crc校验c语言代码,MODBUS通信协议中CRC校验码的计算(C/C++)实现

    错误检测的方法 错误校验(CRC)域占用两个字节,包含了一个16位的二进制值.CRC值由传输设备计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC域中的值进行比较 ...

  2. android中 IMEI和ICCID的校验位计算

    我们都知道在android 中有IMEI和ICCID 这两项数据. 至于这两项数据的获取方式以及所表示的意思在此我就不写了.主要讲讲这两项数据最后一位的校验位如何计算的. IMEI共15位 最后一位是 ...

  3. led大屏按实际尺寸设计画面_P10户外LED电子大屏幕按16:9计算屏幕实际尺寸

    P10户外 P10户外LED电子大屏幕按16:9计算屏幕实际尺寸 P10户外LED电子大屏幕16:9计算方法 1.按16:9计算LED显示屏120平方米的长和宽 16X*9X=120 144X2=12 ...

  4. crc错误 modbus poll_Modbus通讯错误检测方法

    标准的Modbus串行网络采用两种错误检测方法.奇偶校验对每个字符都可用,帧检测(LRC和CRC)应用于整个消息.它们都是在消息发送前由主设备产生的,从设备在接收过程中检测每个字符和整个消息帧. 用户 ...

  5. crc错误 modbus poll_干货丨从Modbus开始说现场总线!

    从Modbus开始说现场总线(一) PLC应用,在了解了硬件配置和逻辑编程之后,很大一部分工作就是处理现场通讯了.各式各样的现场总线,其实还是有一定的规律的.我们在现场最常见到的现场总线协议,恐怕就是 ...

  6. CRC循环冗余码及其详细计算

    本文其实是B站教学视频的搬运:链接点击 文章目录 循环冗余校验码的定义 循环冗余校验码的特点 什么是模2运算 CRC码的计算 具体怎么校验 循环冗余校验码的定义 循环冗余校验码由信息码n位和校验码k位 ...

  7. 程序实现IMEI/MEID校验位计算

    IMEI校验码算法: (1).将偶数位数字分别乘以2,分别计算个位数和十位数之和 (2).将奇数位数字相加,再加上上一步算得的值 (3).如果得出的数个位是0则校验位为0,否则为10减去个位数 如:3 ...

  8. IMEI/MEID校验位计算

    转自:http://blog.csdn.net/fengyifei11228/article/details/45919797 IMEI是国际移动通讯设备识别号(International Mobil ...

  9. MATLAB实现CRC校验码的计算

    循环冗余校验(cyclicredundancy check,CRC)对传输序列进行一次规定的除法操作,将除法操作的余数附加在传输信息的后面.在接收端,也对收到的数据做相同的除法.如果接收端除法得到的结 ...

最新文章

  1. R语言使用magick包的image_annotate函数在图片中添加文本标签信息、自定义文本标签内容的位置、色彩(Text annotations)
  2. python是c语言写的吗-python和C语言的差别
  3. Docker网络配置进阶
  4. 【今日头条】热文周榜、热搜榜
  5. J2ME_System.getProperty
  6. boost::log::sinks::unlocked_sink用法的测试程序
  7. 21天让你成为Horizon View高手—Day18:Windows操作系统优化
  8. 亚伦•斯沃茨:提升时间的品质
  9. 【转】DB2 常用命令
  10. 补码到底是个什么东西
  11. Android访问瓦片地图 费流量,瓦片地图服务在线资源访问总结
  12. CodeFores 665D Simple Subset(贪心)
  13. 【CentOS 7架构16】,限制user_agent#171226
  14. 基于QT的UDP测试工具
  15. [转载]Delta Lake、Iceberg 和 Hudi 三大开源数据湖不知道如何选?那是因为你没看这篇文章
  16. snort 轻量级入侵检测系统安装与使用
  17. 落魄前端,整理给自己的前端知识体系复习大纲(上篇,2w字)
  18. 给你一台大疆无人机,你能用来做点啥?(二)-----——倾斜摄影建模
  19. 最新------如何不通过AppStore,直接安装IOS应用程序 兼容最新版IOS系统
  20. 花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅小说

热门文章

  1. [植树造林小游戏1.1]
  2. 将正确的ADC与应用程序匹配
  3. 博图在线升级 gsd_美生在线消费全返张鹏海外大举收割国内韭菜。
  4. CoreIDRAW导出PDF文件时出现部分内容不显示、空白的问题解决方法。
  5. 由OJ提交结果联想到内存页面大小的一些小猜想
  6. 单项冠军企业申报条件及奖励政策
  7. 國罡上을 國岡上으로 고쳐쓰는者는 뭐하는者일꼬?
  8. summation()
  9. kubeadm安装K8s 1.16集群--问题集锦
  10. 盘点各种语言的输出语句