public UInt16  Cal_crc16(byte[] data, int size)
{

    UInt32 i = 0;
    UInt16 crc = 0;
    for (i = 0; i < size; i++)
    {
        crc = UpdateCRC16(crc, data[i]);
    }
    crc = UpdateCRC16(crc, 0);
    crc = UpdateCRC16(crc, 0);

    return (UInt16)(crc);
}
public UInt16  UpdateCRC16(UInt16  crcIn, byte  bytee)
{
    UInt32  crc = crcIn;
    UInt32  ins =(UInt32)bytee | 0x100;

    do
    {
        crc <<= 1;
        ins <<= 1;
        if ((ins & 0x100)==0x100 )
        {
            ++crc;
        }
        if ((crc & 0x10000)==0x10000)
        {
            crc ^= 0x1021;
        }
    }
    while (!((ins&0x10000)==0x10000) );
    return (UInt16 )crc;
}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐