- 论坛徽章:
- 0
|
参考的C语言的CRC函数,生成特定的CRC检验码,现在需要使用Python实现一样的功能,求使用Python编写的函数代码,非常感谢!
u16 crc(u8 *array , u8 num ,u8 n)
{
u8 i,j;
u8 CL;
u8 CH;
u8 CRC16Lo;
u8 CRC16Hi;
u8 UseHi;
u8 UseLo;
u16 CRC;
CRC16Lo =0xFF;
CRC16Hi =0xFF;
CL =0x01;
CH =0xA0;
for(i=0;i<num;i++)
{
CRC16Lo = CRC16Lo^array[n+i] ;
for(j=0;j<8;j++)
{
UseHi = CRC16Hi;
UseLo = CRC16Lo;
CRC16Hi = CRC16Hi>>1;
CRC16Lo = CRC16Lo>>1;
if((UseHi&0x01)==0x01)
CRC16Lo = CRC16Lo|0x80;
if((UseLo&0x01)==0x01)
{
CRC16Hi = CRC16Hi^CH;
CRC16Lo = CRC16Lo^CL;
}
}
}
CRC=CRC16Hi*256+CRC16Lo;
return (CRC); |
|