BCC异或校验法(Block Check Character)
适用范围:
适用于大多数要求不高的数据通讯。
运用比如:
IC卡接口通讯、许多单片机体系的串口通讯都运用。
完成办法:
许多根据串口的通讯都用这种既简略又适当精确的办法。它便是把一切数据都和一个指定的初始值(一般是0)异或一次,最终的成果便是校验值,一般把它附在通讯数据的最终一同发送出去。接收方收到数据后自己也核算一次异或和校验值,假如和收到的校验值共同就阐明收到的数据是完好的。
校验值核算的代码类似于:
typedefunsigned charINT8U;
staticINT8U BCC_CheckSum(INT8U *buf, INT8U len)
{
INT8U i;
INT8U checksum = 0;
for(i = 0; i < len; i++) {
checksum ^=*buf++;
}
returnchecksum;
}