精华内容
下载资源
问答
  • 2021-09-05 08:29:39

    问题1

    • 循环冗余校验码(Cyclic Redundancy Check,CRC)是数据通信领域中最常用的一种差错校验码,该校验方法中,使用【多项式除法】,也就是【模2除法】运算后的余数为校验字段。

    • 如数据信息为n位,则将其左移k位后,被长度为k+1位的【生成多项式】相除,所得的k位余数即构成k个校验位,构成n+k位编码。

    • 若数据信息为1100,生成多项式为X³ + X + 1,即(1011),则CRC编码如何计算?

    计算方法

    • 原始数据:1100,左移3位,这里的3,就是【生成多项式】最高次方,如,最高为3,左移3位后为:1100000
    • 注意,1100000 虽然可以转换为十进制的96,多项式 1011 为11,但多项式除法不是96%11。
    • 多项式的计算方法,类似于【除法列式】计算流程,不过不需要【借位】,也就是不需要【借一当二】

    更多相关内容
  • 超级好用的Modbus-Rtu-指令CRC校验码计算工具,功能很全,CRC16 CRC8还有多项式可选
  • CRC校验码计算方法.pdf

    2019-09-17 23:56:41
    CRC校验码计算方法pdf,CRC校验码计算方法
  • labview试验crc16的校验计算
  • CRC校验码计算小工具

    2017-04-18 00:30:26
    *本程序是为MODBUS协议而写的,所以最后是两位CRC检验,高位在后,低位在前。 *使用十分的方便。
  • 1.CRC-16/MODBUS(最通用) 2.CRC-16/CCITT-FALSE 支持以上CRC校验计算方式(分查表法和计算法),原代码可执行,能正确输出结果。需要的朋友可以直接 引用到自己项目中。谢谢支持。
  • 本例提供了CRC校验码计算与判断函数,从CRC4到CRC16任意计算,生成多项式由一个整数表示,可以自由定制。
  • 自动计算Modbus通信报文的两个CRC校验位,不用人手工计算。。。。。。。。。。。。。。。。。。。。。。。。。。
  • CRC校验码计算器

    2017-03-19 20:22:38
    CRC校验码计算工具(8位,16位,32位均可计算)
  • CRC校验计算工具.rar

    2020-10-21 11:06:08
    为解决CRC校验专门写的一个小程序,方便计算CRC校验。需要详细程序资料的请留言。。。。。。。。。。。
  • crc校验,crc校验码计算,LabView源码.zip
  • crc校验,crc校验码计算,LabView源码.rar
  • MATLAB CRC校验码计算

    热门讨论 2009-12-08 21:12:23
    输入校验多项式和二进制信号,输出校验码,其实编写很简单
  • 一次项目中使用,计算其他位数校验码要修改一下代码,关键是理解
  • CRC校验码计算过程

    千次阅读 2021-05-19 17:13:10
    namespace CRC { class Program { static void Main(string[] args) { byte[] date = { 0x01, 0x05, 0x00, 0x... //要计算CRC校验的数据 byte[] crc = new byte[2]; //用来保存CRC效验 crc = GetCRC(date)...

    namespace CRC
    {
        class Program
        {
            static void Main(string[] args)
            {
                byte[] date = { 0x01, 0x05, 0x00, 0x00, 0xFF, 0x00 };   //要计算CRC校验的数据
                byte[] crc = new byte[2];    //用来保存CRC效验码
                crc = GetCRC(date);         //得到data的CRC码
                foreach (var item in crc)   
                {
                    Console.Write(item.ToString("X2") + "  ");    //打印出CRC码
                }
                Console.WriteLine();
                Console.ReadKey();
            }


            public static byte[] GetCRC(byte[] byteData)   //计算CRC校验的数据方法
            {
                byte[] CRC = new byte[2];

                UInt16 wCrc = 0xFFFF;
                for (int i = 0; i < byteData.Length; i++)
                {
                    wCrc ^= Convert.ToUInt16(byteData[i]);
                    for (int j = 0; j < 8; j++)
                    {
                        if ((wCrc & 0x0001) == 1)
                        {
                            wCrc >>= 1;
                            wCrc ^= 0xA001;    //异或多项式
                        }
                        else
                        {
                            wCrc >>= 1;
                        }
                    }
                }

                CRC[1] = (byte)((wCrc & 0xFF00) >> 8);    //高位在后
                CRC[0] = (byte)(wCrc & 0x00FF);               //低位在前
                return CRC;

            }
        }
    }

    展开全文
  • Modbus-Rtu-指令CRC校验码计算,modbus的crc校验手动计算,C,C++源码
  • CRC16校验器,适用于CRC数据校验。亲测可用。在这也谢谢之前分享的人,希望大家事事顺利,技术上多多进步。
  • CRC校验码计算公式

    千次阅读 2018-12-07 10:22:07
    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&amp;lt;m_Size;i0++...

    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)计算源代码合集,里面包含了各种编程语言(包括C,C++,单片机等)CRC代码的实现
  • 串口通讯CRC计算校验工具,便于工程调试,本工具用来计算CRC校验,可以计算接收到的校验码是否正确。在最下面输入字节,直接计算
  • 用软件实现 CRC 校验码计算很难满足高速数据通信的要求 ,基于硬件的实现方法中 ,有串行经典算法 LFSR 电路 以及由软件算法推导出来的其它各种并行计算方法。以经典的LFSR 电路为基础 ,研究了按字节并行计算 CRC 校验...
  • CRC校验码计算

    千次阅读 2021-04-30 16:15:41
    Step1:原始信息后“添0”。 假定生成多项式G(x)阶为r,则在原始信息为后添加r个0,新生成的信息串共m+r位,对应多形式设定为x^rM(x)。 以G(X)=X^4+X+1为例。 G(X)=1X^4+0* X^3+ 0X^2+ 1X+1*X0,所以生成的对应的二...

    Step1:原始信息后“添0”。
    假定生成多项式G(x)阶为r,则在原始信息为后添加r个0,新生成的信息串共m+r位,对应多形式设定为x^rM(x)。
    以G(X)=X^4+X+1为例。
    G(X)=1X^4+0* X^3+ 0X^2+ 1X+1*X0,所以生成的对应的二进制字符串为10011。由于最高阶为4,所以在原始信息10010后添加4个0后,得到的信息串为10010 0000。
    Step2:使用生成多项式除新字符串。
    利用模2除法,对应的G(x)位去除串x^rM(x),得到长度位r位余数。除法过程如下图所示:

    在这里插入图片描述

    得到余数1100。

    注意:余数不足r,则余数左边用若干个0补齐。例如求得余数为11,r=4,则补两个0得到0011.

    展开全文
  • 基于VS2010 C# Modbus_CRC16校验码计算
  • CRC码计算校验原理计算

    千次阅读 2021-05-28 17:12:51
    奇偶校验码(PCC)只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。 1. CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式...
  • 【Modbus】 RTU CRC校验码计算方法

    万次阅读 2017-08-09 14:38:29
    附:Modbus RTU CRC校验码计算方法 在CRC计算时只用8个数据位, 起始位及停止位,如有奇偶校验位也包括奇偶校验位 ,都不参与CRC计算。 CRC计算方法是: 1、  加载一值为0XFFFF的16位...
  • CRC循环校验方法的说明,让你充分理解其原理
  • 计算CRC冗余校验码(32)

    2017-02-17 14:26:37
    计算CRC 校验码 计算机网络
  • CRC16校验码计算工具

    2018-01-07 18:16:51
    做串口通讯时经常计算CRC校验码,有了这个小公举,调试非常方便

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,030
精华内容 9,212
关键字:

crc校验码计算

友情链接: melt.zip