CRC校验码计算公式
int CRC_Check(char *m_Data,short m_Size)
{
int i0,i1;
char CRC16Lo,CRC16Hi; //CRC寄存器
char SaveHi,SaveLo;
CRC16Lo = 0xFF;
CRC16Hi = 0XFF;
for(i0=0;i0<m_Size;i0++)
{
CRC16Lo = CRC16Lo ^ *(m_Data+i0); //每一个数据与CRC寄存器进行异或
for(i1=0;i1<8;i1++)
{
SaveHi = CRC16Hi;
SaveLo = CRC16Lo;
CRC16Hi >>=1; //高位右移一位
CRC16Lo >>=1; //低位右移一位
if((SaveHi & 1) == 1) //如果高位字节最后一位为1
{
CRC16Lo |=0x80; //则低位字节右移后前面补1
}
if((SaveLo & 1) == 1) //如果LSB为1,则与多项式码进行异或
{
CRC16Hi ^=0XA0;
CRC16Lo ^=1;
}
}
}
return ( CRC16Hi << 8 )| CRC16Lo;
}

CRC校验码计算公式相关推荐

  1. 基于表格的CRC校验码实现

    关于CRC的理论计算方法不做赘述,本文介绍基于查表的CRC优化算法的实现. 常规计算方法是如何实现的? 理论方法不赘述,这里简单说明程序实现.因为要处理的信息可能非常长,所以直接使用除法指令是不可行的 ...

  2. 32位crc校验码程序_CRC码计算及校验原理的最通俗诠释

    CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的.其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注 ...

  3. STM32开发 -- CRC校验码

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/79518638 通信协议里有CRC校验码,计算从报文的起始字节到报文内容最后一 ...

  4. 如何计算CRC校验码(循环冗余检验码)

    1.什么是CRC校验    在数据通信领域,CRC(循环冗余检验码)常用的一种查错校验码,它的信息字段和校验字段的长度可以任意选定.它主要是通过对要传输的数据进行多项式计算,然后将得到的结果附在数据帧 ...

  5. CRC校验码计算,以常用CRC-8为例

    CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定. CRC校验原理:在要发送的帧后面附加一个数,生成一个新帧发送给接收端.它要使所生成的新帧 ...

  6. 【信道编码/Channel Coding】CRC校验码

    简介: 这是本专栏信道编码/Channel Coding的第四站,想对信道编码有一个系统性的认识可以看本专栏的 信道编码的整体框架 一文.而在本篇文章中,将介绍CRC校验码的基本原理. 目录 简介: ...

  7. C语言CRC校验码计算与校验

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

  8. Python—CRC校验码,计算2进制校验数据的校验码

    有一些网站可以实现crc校验,但几乎均为国际标准没法修改,缺少自定义功能,在CSDN看到这篇文章的修改版,但我认为自定义功能仍然不完善,所以优化出一个二进制信息码,多项式不限的自定义CRC校验码程序. ...

  9. 16位CRC校验码计算,485MODBUS计算

    CRC计算方法是: 1. 加载一值为0XFFFF的16位寄存器,此寄存器为CRC寄存器. 2. 把第一个8位二进制数据(即通讯信息帧的第一个字节)与16位的CRC寄存器的相异或,异或的结果仍存放于该C ...

  10. 详述CRC校验码(附代码)

    关注+星标公众号,不错过精彩内容 来源 | 一口Linux CRC校验应用比较广泛,通常在通信领域用的比较多,即便是自定义通信协议,也可以添加CRC校验码,使其通信更加可靠. 今天就来进一步描述CRC ...

最新文章

  1. HDU 2102 A计划
  2. python3.6下载百度云_Python3.6零基础入门与爬虫案例开发教程
  3. java 反射 int_Java 反射由浅入深 | 进阶必备
  4. 学python需要记笔记吗_开始学python,一些笔记
  5. 读《纸本书变电子书是很小的事》有感
  6. IMPORTANT: BizTalk Server 2004 fixes for Windows XP SP2 and .NET FW 1.1 SP1
  7. Java文件上传细讲,大厂 HR 如何面试
  8. html5学习笔记---05.JavaScript 中的面向对象,继承和封装
  9. 《梦断代码》阅读笔记之第0章和第1章
  10. jsp查询不到mysql内容_java查询到mysql数据库的数据,jspbean查询不到
  11. 【持续更新】java 指令释疑
  12. C#控制台应用程序执行结果一闪而过的解决方法
  13. 量化交易 均线、金叉死叉计算与交易策略
  14. TCP三次握手第三次握手时ACK丢失怎么办
  15. Cumt2020九月校赛 by 水一水
  16. 英語專家談英語學習認識方法
  17. C++排雷:19.过滤英文和中文标点符号,string与wstring之间的转换
  18. 高等数学(第七版)同济大学 习题9-4 (前11题)个人解答
  19. 华为前副总裁李一男正式出任百度CTO
  20. 洛谷 P4389 付公主的背包 多项式exp

热门文章

  1. Auto.js抓取移动端数据实战
  2. 台式机黑苹果Mac OS Big Sur 11.3.1安装指引
  3. PIE Engine系列1 遥感数据下载器的实现(含源码)
  4. 夜间灯光遥感数据下载方法
  5. 数据库系统概论第五版_第二章:关系数据库
  6. 计算机组成与设计01——计算机概要与技术
  7. java调用iec61850_IEC61850开发实战(三)
  8. ActivityMQ使用
  9. kafaka,activityMQ,rabbitMQ消息中间件对比
  10. Savitzky-Golay 滤波器详解及matlab语言程序设计