f117_2r 发表于 2012-1-12 22:15:22

备份一个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)

f117_2r 发表于 2012-1-12 22:16:05

自己顶一下,上面内容不是原创,转存的

hero245 发表于 2012-1-13 08:38:07

mark

bingshuihuo888 发表于 2012-1-13 09:01:50

mark

Name_006 发表于 2012-1-13 09:07:43

标记下

arzy 发表于 2012-5-24 11:13:24

好,正要用

dory_m 发表于 2012-5-24 12:20:13

学习,!!!{:sad:}

snwuzhisheng 发表于 2013-6-21 11:29:45

好东西 正在用 谢谢了{:lol:}

woshigeshuai 发表于 2018-5-13 12:51:28

正在找这个,这个CRC16计算的软件
页: [1]
查看完整版本: 备份一个CRC16校验程序和一个CRC16串口工具