检测输入和结果的CRC版本

2024-05-14 10:39:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个6字节代码的示例和他的CRC结果,我需要用Python编写一个小CRC函数,从任意的6字节输入开始计算,但我不知道我需要什么版本的CRC。你知道吗

这是输入:

0x00 0x00 0x00 0x01 0xFF 0xFF

…结果是:

0xC2 0x00

有人知道使用什么版本的CRC吗? 我已经尝试过使用crcmod,但是结果总是不同的。你知道吗

我还有一个用C编写的函数片段,如果可以的话:

ShiftRegister = 0xFFFF;
Pchar = (&Buffer[0]);
for (p=0;p<ReceivedBytes;p++)
{
    dato = (*Pchar)*256;
    Pchar++;
    for (i=0;i<8;i++)
    {
        if((ShiftRegister ^ dato)& 0x8000)
        {
            ShiftRegister <<=1;
            ShiftRegister ^= 0x8005;
        }
        else
        {
            ShiftRegister <<=1;
        }
        dato <<= 1;
    }
}

其中&Buffer[0]是指向输入的指针,ReceivedBytes是长度。你知道吗


Tags: 函数代码版本示例forif字节buffer

热门问题