标签: crc

如何计算CRC

由于涉及长数学,我在理解如何计算CRC时遇到问题.我理解像XOR这样的东西,但所有的例子都使用了很长的数字.什么是步骤的细分和一个非常简单的例子?

crc

0
推荐指数
1
解决办法
6369
查看次数

使用Python zlib.crc32函数计算CRC

我创建了一个大小为100的列表,并使用以下代码在python中使用8位数据填充数组,我想使用zlib.crc32()函数计算CRC值.

Init_RangenCrc8 = []
for i in range(0,100):
    Init_RangenCrc8.append(random.randrange(0, 255, 1))

crc8_python = zlib.crc32(Init_RangenCrc8, 0xFFFF) 
Run Code Online (Sandbox Code Playgroud)

当我返回并打印crc8_python时,我没有得到任何价值.

任何帮助将不胜感激,谢谢.

python crc

0
推荐指数
1
解决办法
9694
查看次数

在delphi中生成的crc与javascript中的crc不同

我在将javascript函数转换为delphi时遇到了一些麻烦.除了crc部分,一切正常.

这是一个很长的问题,但我真的需要帮助.这个软件将帮助我完成我的工作.我正在使用Delphi XE3.

首先,我将发布delphi函数,以便我可以显示问题所在.

    function getChlg(c: DWORD; slt: string; s1,s2: Char): string;
    const
     n = 4;
    var
     arr: array of char;
     start,Endd,t: Integer;
     m: Extended;
     crc: DWORD;
     chlg, astr: string;
     //loop vars
     i,j,k: integer;
    begin
     start:=Ord(s1);
     Endd:=Ord(s2);
     SetLength(arr, n);
     m:=Math.Power(((Endd - start) + 1),n);

     for i := 0 to 3 do
      arr[i]:=s1;

     for i := 0 to round(m)-1 do
     begin

      for j:= n-1 downto 0 do
      begin
       t:=Ord(arr[j]);
       Inc(t);
       arr[j]:=Chr(t);
       if (Ord(arr[j]) <= Endd) then
        break
       else
        arr[j]:=s1;
      end; //j …
Run Code Online (Sandbox Code Playgroud)

javascript delphi crc

0
推荐指数
1
解决办法
1084
查看次数

在Arduino上实现CRC8以写入MLX90614

更新:我甚至无法使用此计算器来重现本数据表图8和图9中所示的SMBus PEC !

所以我将arduino与Melexis温度传感器连接起来,并且它没有问题 - 除了我似乎无法使CRC检查工作.

我已经成功完成了读取操作(尽管我的软件忽略了数据包错误代码)但我已经尝试了很多CRC8的实现来检查PEC字节无济于事.我现在使用的代码块来自OneWire:

uint8_t OneWire::crc8(const uint8_t *addr, uint8_t len)
{
    uint8_t crc = 0;

    while (len--) {
        uint8_t inbyte = *addr++;
        for (uint8_t i = 8; i; i--) {
            uint8_t mix = (crc ^ inbyte) & 0x01;
            crc >>= 1;
            if (mix) crc ^= 0x8C;
            inbyte >>= 1;
        }
    }
    return crc;
}
Run Code Online (Sandbox Code Playgroud)

我重写它只考虑一个字节:

int smbCRC(int message) {

    uint8_t crc = 0;

  uint8_t inbyte = message & 0xFF;
  for (uint8_t i = …
Run Code Online (Sandbox Code Playgroud)

arduino crc i2c

0
推荐指数
1
解决办法
9212
查看次数

为什么CRC16计算如此慢?

我有以下CRC功能:

public static ushort ComputeCRC16(byte[] data)
{
    ushort i, j, crc = 0;
    int size = data.Length;

    for (i = 0; i < size - 2; i++)
    {
        crc ^= (ushort)(data[i] << 8);

        for (j = 0; j < 8; j++)
        {
            if ((crc & 0x8000) != 0) /* Test for bit 15 */
            {
                crc = (ushort)((crc << 1) ^ 0x1234); /* POLYNOMIAL */
            }
            else
            {
                crc <<= 1;
            }
        }
    }

    return crc;
}
Run Code Online (Sandbox Code Playgroud)

我一直在试图用它来计算从一个文件即大约800 KB一个CRC16,但它需要永远,我的意思是五分钟后,价值i …

c# crc crc16

0
推荐指数
1
解决办法
134
查看次数

如何将crc-32修改为crc-32 / mpeg-2

我正在尝试编写一个函数,以将设备的CRC 32输出与我计算出的实际CRC-32总和相匹配。以下是我的代码:

#include <iostream> 
#include <string.h> 
#define CRC32_POLYNOMIAL 0xEDB88320
using namespace std;
unsigned int crc32b(unsigned char *message,size_t l)
{
   int i, j;
   unsigned int byte, crc, mask;

   i = 0;
   crc = 0xFFFFFFFF;
   while (i<l) {
      byte = message[i];            // Get next byte.
      crc = crc ^ byte;
      for (j = 7; j >= 0; j--) {    // Do eight times.
         mask = -(crc & 1);
         crc = (crc >> 1) ^ (0xEDB88320 & mask);
      }
      i = i + …
Run Code Online (Sandbox Code Playgroud)

c++ crc32 checksum crc

0
推荐指数
1
解决办法
818
查看次数

使用查找表计算 CRC-6 GSM

我正在尝试计算 CRC-6 GSM,但结果是错误的(16 美元)。对于“123456789”,根据 https://reveng.sourceforge.io/crc-catalogue/all.htm#crc.cat.crc-6-gsm ,它应该返回 13 美元

var Table: array[0..255] of Byte = (
$3F, $10, $0E, $21, $32, $1D, $03, $2C, 
$25, $0A, $14, $3B, $28, $07, $19, $36, 
$0B, $24, $3A, $15, $06, $29, $37, $18, 
$11, $3E, $20, $0F, $1C, $33, $2D, $02, 
$38, $17, $09, $26, $35, $1A, $04, $2B, 
$22, $0D, $13, $3C, $2F, $00, $1E, $31, 
$0C, $23, $3D, $12, $01, $2E, $30, $1F, 
$16, $39, $27, $08, $1B, $34, $2A, $05, 
$31, …
Run Code Online (Sandbox Code Playgroud)

delphi pascal crc lazarus

0
推荐指数
1
解决办法
292
查看次数

标签 统计

crc ×7

delphi ×2

arduino ×1

c# ×1

c++ ×1

checksum ×1

crc16 ×1

crc32 ×1

i2c ×1

javascript ×1

lazarus ×1

pascal ×1

python ×1