BCC異或校驗法
適用范圍:
本文引用地址:http://2s4d.com/article/201611/317164.htm適用于大多數要求不高的數據通訊。
應用例子:
IC卡接口通訊、很多單片機系統的串口通訊都使用。
實現方法:
很多基于串口的通訊都用這種既簡單又相當準確的方法。它就是把所有數據都和一個指定的初始值(通常是0)異或一次,最后的結果就是校驗值,通常把它附在通訊數據的最后一起發(fā)送出去。接收方收到數據后自己也計算一次異或和校驗值,如果和收到的校驗值一致就說明收到的數據是完整的。
校驗值計算的代碼類似于:
typedefunsigned charINT8U;
staticINT8U BCC_CheckSum(INT8U *buf, INT8U len)
{
INT8U i;
INT8U checksum = 0;
for(i = 0; i < len; i++) {
checksum ^=*buf++;
}
returnchecksum;
}
評論