C语言BCC(异或校验)

Type_uByte wubJTT808CalculateChecksum(Type_uByte *aubData_p, Type_uWord auwDataLength)
{
    Type_uByte aubChecksum = 0;
    Type_uWord auwCnt = 1;

    while(auwCnt < auwDataLength)
    {
        aubChecksum ^= aubData_p[auwCnt];
        auwCnt++;
    }

    return aubChecksum;
}

校验码指从消息头之后开始,同后一字节异或,直到校验码前一个字节,占用一个字节。

Type_uWord auwCnt = 1;是用来跳过消息头用的

你可能感兴趣的:(一分钟识点扫盲)