int CRC16(int DataLength){
unsigned int i,j,CheckSum;
CheckSum=0xFFFF;
for (j=0;j<DataLength;j++){
CheckSum=CheckSum^response[j];
for(i=8;i>0;i--){
if((CheckSum)&0x0001==1) CheckSum=(CheckSum>>1)^0xA001;
else CheckSum=CheckSum>>1;}}
CRC_high=(CheckSum>>8)&0x00FF;
CRC_low=CheckSum&0x00FF;
return CheckSum;
}
Users browsing this forum: No registered users and 7 guests