clwn.net
当前位置:首页 >> 求教 C#语言编写 的CRC16的校验程序 (多项式为:CRC... >>

求教 C#语言编写 的CRC16的校验程序 (多项式为:CRC...

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConvertToCRC16 { public static class CRC16Util { // CRC高位字节表 private static readonly byte[] m_CRCHighOrderByteTable = new byte...

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ToolLibrary { public class Crc { #region private static readonly byte[] _auchCRCHi = new byte[]//crc高位表 { 0x00, 0xC1, 0x81, 0x40...

1、最终需要交换crc 寄存器中的高地位字节 2、检查你的多项式和软件的多项式是否一致

循环冗余校验码(CRC) CRC校验采用多项式编码方法。被处理的数据块可以看作是一个n阶的二进制多项式,由 。如一个8位二进制数10110101可以表示为: 。多项式乘除法运算过程与普通代数多项式的乘除法相同。多项式的加减法运算以2为模

#region CRC校验 /// /// CRC高位校验码checkCRCHigh /// static byte[] ArrayCRCHigh = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40...

不知道你这个函数是谁写的,我给你个我写的吧 是CRC16位校验,如果是modbus协议的话,应该是第一位是低位,第二位是高位 public byte[] CRC16_C(byte[] data) { byte CRC16Lo; byte CRC16Hi; //CRC寄存器 byte CL; byte CH; //多项式码&HA001 by...

我有CRC16校验的C#代码: CRC循环冗余错误校验计算方法&&代码 CRC—16(循环冗余错误校验)生成CRC—16校验字节的步骤如下: (1)装入一个16位寄存器,所有数位均为1。 (2)该16位寄存器的高位字节与开始8位字节进行“异或”运算。运算结果放入这...

参考如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.Serialization.Formatters.Binary; using System.IO; namespace smsForCsharp.CRC { /// /// 消息CRC校验算法 /// public class CRC { pu...

public int Crc16Bit(byte[] crcData, int len) { int crc; byte da; int[] crcArray = new int[256] { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x...

这个是CRC校验码的产生过程。hi是高8位,lo是低8位。对应byte类型。crc是结果值,16位,对应short类型。参数的buf,对应byte[]。buf++是先输出buf的值,后加一,而buf是数组的指针,*buf就是所指向的内容。对应是for(intindex=0;index

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com