备份一个CRC16校验程序和一个CRC16串口工具
//取Word变量的高位字节、低位字节的宏#defineWORD_LO(xxx)((unsigned char) ((unsigned int)(xxx) & 255))
#defineWORD_HI(xxx)((unsigned char) ((unsigned int)(xxx) >> 8))
//CRC校验计算函数
unsigned int cal_crc(unsigned char *ptr, unsigned int len)
{
unsigned int crc=0xffff;
unsigned char i;
while(len!=0)
{
crc^=*ptr;
for(i=0;i<8;i++)
{
if((crc&0x0001)==0) crc=crc>>1;
else
{
crc=crc>>1;
crc^=0xa001;
}
}
len-=1;
ptr++;
}
return crc;
}
//应用关键技巧举例:
unsigned char rx_buffer; //定义接收数据缓冲区
unsigned int intTemp; //定义临时Word变量
intTemp=cal_crc(&rx_buffer,6); //求取CRC16结果
rx_buffer=WORD_LO(intTemp); //获得CRC16的低位字节
rx_buffer=WORD_HI(intTemp); //获得CRC16的高位字节
CRC16串口工具ourdev_712704HXDGP3.rar(文件大小:190K) (原文件名:Commix.rar) 自己顶一下,上面内容不是原创,转存的 mark mark 标记下 好,正要用 学习,!!!{:sad:} 好东西 正在用 谢谢了{:lol:} 正在找这个,这个CRC16计算的软件
页:
[1]