CRC16校验程序

发布于:2024-07-17 编辑:匿名 来源:网络

// CRC16校验在通信中应用广泛。

其理论在此不予讨论。

// 仅测试三种常见的实现方法。

方法1采用常见的查找表方法,类似于word//section、word等查找表。

CRC16校验程序

至于查找表的生成,我们这里也略过。

//---------------- 流行多项式----------------//CCITT:x^16 + x^12 + x^ 5 + x^0(0x)//CRC-16:x^16 + x^15 + x^2 + x^0(0x)#defineCRC_16_POLYNOMIALS0x// -------------- ----------------------------------------------------// CRC16计算方法1:使用校验2 长度表 // ---------------------------------- ---------- ----------------const BYTE chCRCHTalbe[] =// CRC高字节值表 {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80、0x41、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、 0、0x41、0x01、0xC0、0x80、 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 1、0x01、0xC0、0x80、0x41、 0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、 00、0xC1、0x81、0x40、0x01、 0xC0、0x80、0x41、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0 x01、0xC0、0x80、0x41、 0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、 、0xC0、0x80、0x41、0x01、 0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x01、0xC0、0x80、0x41、0x00、 、0x81、0x40、0x01、0xC0、 0x80、0x41、0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x01、0xC0、 、0x41、0x01、0xC0、0x80、 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 、0x01、0xC0、0x80、0x41、 0x00、0xC1、0x81、0x40、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、0x00、0xC1、0x81、0x40、0x01、0xC0、0x80、0x41、 1、0xC0、0x80、0x41、0x00、 0xC1, 0x81, 0x40};const BYTE chCRCLTalbe[] =// CRC 低位字节值表{0x00, 0xC0, 0xC1,0x01、0xC3、0x03、0x02、0xC2、0xC6、0x06、0x07、0xC7、0x05、0xC5、0xC4、0x04、0xCC、0x0C、0x0D、0xCD、0x0F、0xCF、0xCE、0x 0A、0xCA、0xCB、0x0B、 0xC9、0x09、0x08、0xC8、0xD8、0x18、0x19、0xD9、0x1B、0xDB、0xDA、0x1A、0x1E、0xDE、0xDF、0x1F、0xDD、0x1D、0x1C、0xDC、0x14、 、0xD5、0x15、0xD7、 0x17、0x16、0xD6、0xD2、0x12、0x13、0xD3、0x11、0xD1、0xD0、0x10、0xF0、0x30、0x31、0xF1、0x33、0xF3、0xF2、0x32、0x36、0xF6 、0xF7、0x37、0xF5、0x35、 0x34、0xF4、0x3C、0xFC、0xFD、0x3D、0xFF、0x3F、0x3E、0xFE、0xFA、0x3A、0x3B、0xFB、0x39、0xF9、0xF8、0x38、0x28、0xE8、0xE9、 、0xEB、0x2B、0x2A、 0xEA、0xEE、0x2E、0x2F、0xEF、0x2D、0xED、0xEC、0x2C、0xE4、0x24、0x25、0xE5、0x27、0xE7、0xE6、0x26、0x22、0xE2、0xE3、0x23、 1、0x21、0x20、0xE0、 0xA0、0x60、0x61、0xA1、0x63、0xA3、0xA2、0x62、0x66、0xA6、0xA7、0x67、0xA5、0x65、0x64、0xA4、0x6C、0xAC、0xAD、0x6D、0xAF、0 x6F、0x6E、0xAE、0xAA、 0x6A、0x6B、0xAB、0x69、0xA9、0xA8、0x68、0x78、0xB8、0xB9、0x79、0xBB、0x7B、0x7A、0xBA、0xBE、0x7E、0x7F、0xBF、0x7D、0xBD、0xBC、0x7C、0xB4、0x74、0x75、0xB5、0x77、0xB7、0xB6、0x76、0x72、0xB2、 0x73、0xB1、0x71、 0x70、0xB0、0x50、0x90、0x91、0x51、0x93、0x53、0x52、0x92、0x96、0x56、0x57、0x97、0x55、0x95、0x94、0x54、0x9C、0x5C、 、0x9D、0x5F、0x9F、0x9E、 0x5E、0x5A、0x9A、0x9B、0x5B、0x99、0x59、0x58、0x98、0x88、0x48、0x49、0x89、0x4B、0x8B、0x8A、0x4A、0x4E、0x8E、0x8F、 、0x8D、0x4D、0x4C、0x8C、 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,0x41, 0x81, 0x80, 0x40};WORD CRC16_1(BYTE* pchMsg, WORD wDataLen){ BY TE chCRCHi = 0xFF; //高CRC字节初始化 BYTE chCRCLo = 0xFF; // CRC 低字节初始化 WORD wIndex; // CRC 循环中的索引 while (wDataLen--){// 计算 CRCwIndex = chCRCLo ^ *pchMsg++ ;chCRCLo = chCRCHi ^ chCRCHTalbe [wIndex];chCRCHi = chCRCLTalbe[wIndex] ;}return ((chCRCHi > 4);wCRC = wCRCTalbeAbs[((chChar >> 4) ^ wCRC) & 15] ^ (wCRC >> 4);}return wCRC;} //-------------------- ---------------------------- ----------------//CRC16计算方式3:使用直接结算方式// ---------------------------------------------- - ---------------------------------WORD CRC16_3(BYTE* pchMsg, WORD wDataLen){BYTE i, chChar; WORD wCRC = 0xFFFF;while (wDataLen--){chChar = *pchMsg++;chChar = ByteInvert(chChar);wCRC ^= (((WORD) chChar) for (i = 0; i {if (wCRC & 0x)wCRC = (wCRC elsewCRC }}wCRC = WordInvert(wCRC); return wCRC;}//测试数据: //在DSP56F80x平台上使用Metrowerks CodeWarrior,对这三种方法的性能 // 进行了测试 // ------ - ------------------------------------------------- - -------//代码大小(字) 附加存储空间(字) 执行时间(周期数)//------------------------ -------------------------------------------------- //方法0//方法0//方法*8////说明:方法3的代码量还包括字反转和字节反转程序(这里不给出源代码)////结论:通常当存储空间没有限制,使用方法1是最好的,毕竟在通讯中,保证通讯速度至关重要,而方法2也是一个不错的方法,而且占用空间很少,方法3。

似乎没有什么优势。

CRC16校验程序

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • Ly-Cycle计划在挪威新建锂离子电池回收工厂

    Ly-Cycle计划在挪威新建锂离子电池回收工厂

    在全球向无碳经济转型的过程中,用户对电池储能系统的需求将与日俱增。 因此,人们对电池储能系统的可靠性将会提高。 人们还担心可持续性。 其中最重要的是使电池成为真正的循环和可持续产品。 在锂离子电池回收面临日益严峻的挑战的背景下,加拿大电池回收公司 Ly-Cycle 与挪

    06-08

  • 两届狂轰滥炸、天价片酬,玄幻剧能否顶住压力?

    两届狂轰滥炸、天价片酬,玄幻剧能否顶住压力?

    两会期间,娱乐圈闹得沸沸扬扬,行业代表纷纷发声:有的针对行业毒瘤票房造假、收视率造假,有的认为行业太不健康,有的认为行业太不健康。 认为小鲜肉、小花等“负责流量”的比例过高,抬高影视剧成本……一些资深电视人、著名导演、花儿影视创始人郑晓龙提出“奇幻剧”走不

    06-17

  • 搜狐向畅游提出私有化要约,收购溢价57%

    搜狐向畅游提出私有化要约,收购溢价57%

    据投资界9月9日消息,“搜狐”宣布已向畅游董事学院提交初步非约束性要约,其控股子公司,并拟以现金收购搜狐的非持股。 畅游所有已发行的 A 类普通股,包括以美国存托凭证(ADS)为代表的 A 类普通股,均以每股 A 类普通股 5.00 美元或每股 ADS 10.00 美元的购买价格购买。

    06-18

  • 004号员工救了阿里

    004号员工救了阿里

    戴珊让路。 阿里巴巴集团12月20日宣布,调任桃田集团原CEO戴珊协助组建阿里巴巴集团资产管理公司。 戴珊的职位将由阿里巴巴集团首席执行官吴永明接任。 此次人事变动后,吴永明在阿里云和桃天集团双双出任第一,几天后他于9月10日接任张勇集团CEO。 此前,张勇推动的“1+N”组

    06-18

  • 满街的AI广告是审美大降级吗?

    满街的AI广告是审美大降级吗?

    哎呀,你我都被AI包围了!过去一年多,AI逐渐变得司空见惯、日常化。 当巨头等人互相追逐、推倒新王时,AI也出现在更不起眼的地方,比如地铁、电梯、产品海报、软件屏幕,线上线下都与普通人擦肩而过。 但其效果往往难以解释,甚至成为精神攻击。 这些“显眼的包包”广告有没

    06-21

  • 乌克兰局势将如何影响半导体供应链?

    乌克兰局势将如何影响半导体供应链?

    中国电子报 近两天,乌克兰局势引发能源、黄金等大宗商品价格剧烈波动。 作为全球特种半导体气体的主要供应国,乌克兰氖气产量占全球近70%。 它也是氩、氪、氙等半导体制造所需气体的重要来源。 美国90%以上的半导体级氖气来自乌克兰。 乌克兰局势加剧了人们对全球半导体产业

    06-06

  • 龙蜥蜴操作系统装机量突破600万,超过一半的CentOS用户愿意迁移到龙蜥蜴

    龙蜥蜴操作系统装机量突破600万,超过一半的CentOS用户愿意迁移到龙蜥蜴

    12月18日,首届龙蜥操作系统大会以“云-智能”为主题融合共建未来”在京举行。 本次大会由Open Atom开源基金会指导,龙蜥社区主办,阿里云、浪潮信息、Arm、Intel、中兴通讯、同心软件等24家理事单位协办,吸引了1000余家企业和机构参会。 数以千计的开发人员。 参会中,众多

    06-17

  • 年报延期,遨森电商完成A股上市辅导备案

    年报延期,遨森电商完成A股上市辅导备案

    遨森电商(76.NQ)近日向宁波证监局提交拟首次公开发行股票上市辅导材料。 宁波证监局网站于2016年4月16日公布了公司辅导备案情况,辅导机构为中国国际金融公司。

    06-17

  • 晶圆级光学芯片公司「坤友光电」完成新一轮融资

    晶圆级光学芯片公司「坤友光电」完成新一轮融资

    据投资界5月7日消息,专注晶圆级光学芯片的坤友光电宣布完成A2轮融资的融资。 本轮由元璟资本、华登国际、中科院旗下基金中国科技之星共同投资。 鯤游光电此前已获得舜宇光学、鲲中资本、晨辉创投、中兴光电等多轮融资。   鯤游光电成立于2001年,是一家专注于晶圆级光学芯

    06-18

  • 英特尔-美光继续联合开发3D Xpoint闪存:第二代将于明年发布

    英特尔-美光继续联合开发3D Xpoint闪存:第二代将于明年发布

    快科技消息:英特尔与美光宣布双方3D Xpoint存储技术合作将持续推进,将共同开发第二代3D Xpoint闪存芯片。 3D Xpoint 是一种非易失性存储技术,可提供极高的耐用性和低延迟。 目前商用产品的代表是Intel Optane。 据悉,第二代3D Xpoint将于今年上半年完成,仍将在犹他州Leh

    06-06

  • 呼叫中心让中铁普金客户服务效率提升一倍

    呼叫中心让中铁普金客户服务效率提升一倍

    .wp-block-column h3{margin-left:0}中铁普金作为一家国际跨国企业,紧随“一带一路”倡议,致力于全球基础设施建设。 然而,随着业务的不断扩大,客户服务面临着更大的压力和挑战。 为提高客户满意度、提高运营效率,中铁鲁班在客户服务体系上进行了一系列创新和改革。 中铁

    06-17

  • iPadOS 16.4 正式版发布,我们发现了 Apple Pencil 无限更新的秘密

    iPadOS 16.4 正式版发布,我们发现了 Apple Pencil 无限更新的秘密

    今天,苹果推送了 iPadOS 16.4 正式版,为 Safari 浏览器带来了 Web Push,并添加了多个 Emoji 表情,但最令人惊讶的是让我惊讶的是Apple Pencil的新功能。 升级系统后,在搭载M2芯片的iPad Pro上,Apple Pencil不仅可以显示笔尖的浮动位置,还可以识别笔划的倾斜角度。 从发

    06-21