> Little-Endian Mode
> /*
> message : data poiner
> len : data length Value
> */
> uint32 GetCRC(void * message, uint16 len)
> {
> uint32 CRCFull = 0xFFFF;
> int i = 0, j = 0;
> uint8 * mess = message;
> for (i = 0; i < 8; i++)
> {
> CRCFull = (uint16)(CRCFull ^ mess[i]);
> for (j = 0; j < 8; j++)
> {
> CRCLSB = (uint8)(CRCFull & 0x0001);
> CRCFull = (uint16) ((CRCFull >> 1) & 0x7FFF);
> if (CRCLSB == 1)
> CRCFull = (uint16)(CRCFull ^ 0xA001);
> }
> }
> return CRCFull;
> }
https://www.cnblogs.com/subendong/p/11908205.html
查表的话,你从0~255都调用一次,得到返回值,构成一个表,就可以查表了。