当前位置: 首页 > 知识库问答 >
问题:

带查找表的CRC 16-CCITT

糜正业
2023-03-14
0x0617
65
0000.0110.0001.0111
0000.0110.0001.0111|0000.0000.0000.0000
0x1021
0001.0000.0010.0001 (0, 5, 12)

共有1个答案

满玉泽
2023-03-14

我今天一直在研究这个问题,并创建了一个适用于任何CRC的代码,您将在CRC.h文件中发现许多不同的CRC,其中一些经过测试并正在工作。代码是用C语言完成的,所以在Java中使用它应该不会有很多问题。

为了能够使用任何类型的CRC,查找表是动态生成的,您可以将A_crcLookupTable数组放在监视窗口中,并复制数组中的值,如果您希望将其作为常量包含。

希望对您有所帮助:https://sourceforge.net/projects/crccalculator/files/crc/?

 类似资料:
  • 下面的VHDL代码段正确地为我获得了单个输入字节的16位CRC。我将如何扩展多个输入字节,例如一个现在跨越128字节的帧要被CRC? 注:函数'CRC16'是使用一些在线工具生成的,但我也是自己派生的,所以我相信它可以工作。目前,下面的testbench为CRC函数每次调用提供一个字节。 null 谢谢你的阅读,克里斯

  • 我正试图为一个P1 meter消息的CRC16校验和编写一个单元测试(而且很难把它弄对...)。 我所拥有的是: null 来源可以在这里找到 CRC是对数据消息中的前面字符计算的CRC16值(从“/”到“!”,使用多项式:x16+x15+x2+1)。 CRC16不使用异或输入,不使用异或输出,并以最低有效位优先计算。该值表示为4个十六进制字符(MSB优先)。 @马克·阿德勒,我修复了你发现的问题

  • 问题内容: 我目前正在从事一个项目,该项目的嵌入式系统通过无线电将数据发送到PC。数据包最后获得crc16校验和,并基于以下算法进行计算: 现在,我正在寻找Java中的等效语言。我已经在这里找到了一个不错的网站:http : //introcs.cs.princeton.edu/java/51data/CRC16CCITT.java.html 但这不适用于我的C代码。 是否有人能够为C和Java等

  • 我目前正在做一个项目,有一个嵌入式系统通过无线电向PC发送数据。数据包在最后得到一个crc16校验和,该校验和是基于以下算法计算的:

  • 我在某处看到了枚举的以下解决方案 这证明了我想做的,除了ArrayBuffer中隐藏了一个var......这有点令人讨厌。 我真正想要的是val lookupTable=Map(),当一个请求进来时,我可以查找“星期一”并将其转换为我的枚举星期一并在整个软件中使用枚举。这通常是如何做到的。我看到了密封的特征,但没有看到一种方法来自动确保当有人添加扩展它的类时,它会自动添加到查找表中。有没有办法使

  • 这是代码 更新的答案