int CWRComDlg::CRC_16(BYTE *resource,BYTE *target,int usDataLen)
{
int CRCCode=0xffff;
for(int i=0;i
{
target[i]=resource[i];
CRCCode=CRCCode^resource[i];
for(int j=0;j<8;j++)
{
int movebit=CRCCode&0x0001;
CRCCode=(CRCCode>>1)&0x7fff;
if(movebit==1)
{
CRCCode=CRCCode^0xa001;
}
}
}
target[usDataLen]=LOBYTE(CRCCode);
target[usDataLen+1]=HIBYTE(CRCCode);
return CRCCode;
}
给你一段此协议的主要校验的程序,把你的数据通过此函数校验后得出校验码,就形成了该协议的数据。
06-03-24 08:59