嵌入式技术论坛
直播中

硬件漫漫之路

7年用户 120经验值
擅长:嵌入式技术
私信 关注
[经验]

CRC16校验方法

void CRC16(unsigned int *buf,unsigned int bufLength)
{
        unsigned int i,j,lastBit,CRC;
        CRC = 0XFFFF;
        for(i=0;i         {
                CRC = buf[i]^CRC;
                for (j=0;j<8;j++)
                {
                        lastBit = CRC&0X0001;
                        CRC = CRC>>1;
                        if (lastBit)
                                CRC = CRC^0XA001;
                }
        }
        uint crctemp = CRC;
        for (i=0;i         {       
                Serial.write(buf[i]);
                delayMicroseconds(1);
        }
       
        Serial.write(crctemp>>8);
        delayMicroseconds(1);
        Serial.write(CRC);
       
        //return CRC;
}

更多回帖

发帖
×
20
完善资料,
赚取积分