天道酬勤,学无止境

crc16

如何在python3中计算ANSI CRC16多项式(0x8005)?(how to calculate ANSI CRC16 polynomial (0x8005) in python3?)

问题 我尝试使用此代码计算 ANSI CRC16 多项式 (0x8005) import crcmod crc16 = crcmod.mkCrcFun(0x8005, 0xffff, True) 但我收到此错误消息 ValueError:多项式的次数必须是 8、16、24、32 或 64 回答1 0x8005开头有一个隐含的1 crcmod 希望您明确提供1 import crcmod crc16 = crcmod.mkCrcFun(0x18005, 0xffff, True)

2021-09-13 21:07:54    分类:技术分享    python   python-3.x   crc   crc16

how to calculate ANSI CRC16 polynomial (0x8005) in python3?

I tried to calculate ANSI CRC16 polynomial (0x8005) using this code import crcmod crc16 = crcmod.mkCrcFun(0x8005, 0xffff, True) but I got this error message ValueError: The degree of the polynomial must be 8, 16, 24, 32 or 64

2021-09-05 10:57:23    分类:问答    python   python-3.x   crc   crc16

Javascript CRC16 sample code or implementation

can anybody share a link or sample code to implement checksum for string in javascript? Thanks a lot in advance

2021-09-02 04:00:22    分类:问答    checksum   crc16

CRC 16 -DECT with poly x^16 + x^10 + x^8 + x^7 + x^3 + 1

believe me I have tried to code this, tried Google, and haven't had any luck. I'm trying to implement a CRC16 using this poly x^16 + x^10 + x^8 + x^7 + x^3 + 1 using the C language. Since I understand PHP better I'm trying to get a function going, but I'm not getting the right answer of 28713. This code is generating a CRC of 32713. function crc16($string,$crc=0) { for ( $x=0; $x<strlen( $string ); $x++ ) { $crc = $crc ^ ord( $string[$x] ); echo $crc.'<br />'; for ($y = 0; $y < 8 ; $y++) { if ( ($crc & 0x0001) == 0x0001 ) $crc = ( ($crc >> 1 ) ^ 0x10589 ); else $crc = $crc >> 1; } } return

2021-09-01 07:56:11    分类:问答    php   c   crc16

Java中多项式x^16 + x^12 + x^5 + 1计算CCITT标准CRC(Calculation of CCITT standard CRC with polynomial x^16 + x^12 + x^5 + 1 in Java)

问题 我需要在 Java 中使用多项式 x^16 + x^12 + x^5 + 1 (0x1081) 计算 CCITT 标准 CRC 的帮助。 我在互联网上尝试了许多示例,但每个示例都返回示例中的值以外的其他值。 例如,对于这个数组 [0xFC] [05] [11],结果需要是 [27] [56]。 使用此代码: public static void main(String[] args) { byte[] array = new byte[3]; array[0] = (byte) 0xFC; array[1] = (byte) 0x05; array[2] = (byte) 0x11; // array[3] = (byte) 0x00; // array[4] = (byte) 0x00; System.out.println(Integer.toHexString(crc16(array))); } private static final int POLYNOMIAL = 0x1081; private static final int PRESET_VALUE = 0xFFFF; public static int crc16(byte[] data) { int current_crc_value = PRESET_VALUE; for (int i = 0; i <

2021-09-01 02:13:46    分类:技术分享    java   calculator   polynomial-math   crc16

CCITT CRC 16 位起始值 0xffff(CCITT CRC 16 Bit Start Value 0xffff)

问题 我需要计算作为参数与长度一起传递的数据的 CCITT 16 位校验和值。 如果我用测试数据“123456789”填充我的数组 TempStr,使用长度不包括空终止字符的多项式 0x8408,我得到结果字符串 6E90(Hex)。 连同空终止字符,我得到 907A。 当我将多项式交换为 0x1201 时,我会得到带有和不带有终止符的结果 29E2(Hex) 和 EFE8(Hex)。 我的问题是:我是否需要计算带有或不带有空终止符的 CRC 以获得正确的值? 我在算法中使用多项式 0x1201 还是逆多项式 0x8408? 给定数据 0x29B1 的 CRC 是否正确? 我需要正确的值来确定函数是否正常工作。计算此特定 CRC 类型的算法是否正确? wData=(unsigned int)0xff & *pData++?? 如果有人可以向我解释出了什么问题以及如何解决我的问题,我将不胜感激。 谢谢 这是使用和显示 calculate_CRC16 函数的代码: CHAR_t TestStr[] = {"123456789"}; unsigned short CrcTest = calculate_CRC16(TestStr,sizeof(TestStr)-1); QString CrcDisplay = QString("CrcTest : %1").arg(CrcTest)

2021-08-14 05:48:46    分类:技术分享    c++   checksum   crc   crc16

CRC-CCITT 到 CRC16 Modbus 实现(CRC-CCITT to CRC16 Modbus implementation)

问题 我在使用 PHP 生成 modbus CRC16 代码时遇到了很多麻烦。 我在互联网上找到了很多不同的代码,但我已经尝试过,但由于某种原因我没有得到正确的结果。 我找到了一个用于生成 CRC16-CCITT 的 PHP 代码。 我已将查找表更改为 modbus CRC 对应表,但结果仍然不正确。 代码如下。 我还需要做什么才能将 CRC16-CCITT 代码转换为 CRC16-MODBUS 代码。 <?php /************************************************************************* * phpCrc16 v1.1 -- CRC16/CCITT implementation * * By Matteo Beccati <matteo@beccati.com> * * Original code by: * Ashley Roll * Digital Nemesis Pty Ltd * www.digitalnemesis.com * ash@digitalnemesis.com * * Test Vector: "123456789" (character string, no quotes) * Generated CRC: 0x29B1 * *****************************

2021-08-12 04:33:46    分类:技术分享    php   Modbus   crc16

CRC-CCITT to CRC16 Modbus implementation

I am having a lot of trouble on generating a modbus CRC16 code using PHP. I have found a lot of different codes over the internet but i have tried them and for some reason i didnt get right results. I have found a PHP code for generating CRC16-CCITT. I have chenge the look up table to the modbus CRC corresponding table but the result is still not the right one. The code is bellow. What do i need to do more in order to transform a CRC16-CCITT code into CRC16-MODBUS code. <?php /************************************************************************* * phpCrc16 v1.1 -- CRC16/CCITT

2021-07-31 16:12:07    分类:问答    php   Modbus   crc16

C#中的CRC-ITU计算(CRC-ITU calculation in c#)

问题 我是 C# 的新手。 我需要计算从 GPS 设备收到的数据包的 CRC-ITU。 文档中提供了 C 代码,但我不知道如何将其移植到 C#,有人可以帮助我吗? 这是 C 中的 CRC-ITU 算法: static const U16 crctab16[] = { 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5, 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c, 0xbdcb, 0xac42

2021-07-09 13:13:32    分类:技术分享    c#   gps   crc16

16bit CRC-ITU calculation for Concox tracker

I am creating C# code for a server program that receives data from a Concox TR06 GPS tracker via TCP: http://www.iconcox.com/uploads/soft/140920/1-140920023130.pdf When first starting up, the tracker sends a login message, which needs to be acknowledged before it will send any position data. My first problem is that, according to the documentation, the acknowledge message is 18 bytes long, yet the example they provide is only 10 bytes long: P.s. in the table above, the "bits" column I'm pretty sure should be labelled "bytes" instead... Now, my main problem is in calculating the Error Check

2021-07-02 21:34:35    分类:问答    c#   gps   crc   crc16