本帖最后由 wcjaglzf 于 2011-6-10 11:13 编辑
unsigned char Array[2]={0xaa,0x59};
/******************************
形参: 一个指针和一个长度值
返回值: 一个unsigned int的CRC校验码
******************************/
unsigned int Crcprocess(unsigned char data *p,unsigned char len)
{
unsigned char i;\
unsigned int Crc;
while(len--)
{
for(i=0x80;i!=0;i>>=1)
{
if((Crc&0x8000) != 0) { Crc<<=1; Crc ^= 0x1021;}
else { Crc<<=1;}
if((*p&i) != 0) Crc ^= 0x1021;
}
p++;
}
return Crc;
}
===================================
假如这是发送端产生的CRC校验码的子函数。
要发送的数据为一个的数据A(即数组array[2],这里用p来指向他),用这个方法的CRC校验码为B
然后我们将A、B一起发送过去。
那么,在这里想请教一下高手们,在接收端怎么对这个数据进行鉴定呢? |