微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > CRC循环校验问题

CRC循环校验问题

时间:10-02 整理:3721RD 点击:
uint crc16l(uchar *ptr,uchar len)        // ptr 为数据指针,len 为数据长度
{
  uchar i;
  while(len--)
  {
      for(i=0x80; i!=0; i>>=1)
    {
        if((crc&0x8000)!=0) {crc<<=1; crc^=0x1021;}        1-1   
          else crc<<=1;                     1-2
      if((*ptr&i)!=0) crc^=0x1021;                       1-3   
    }
    ptr++;
  }
  return(crc);
}
我对1-1 1-2 1-3 行不是很懂,能讲解一下吗,想了很久还是没结果,麻烦你了
单片机通信系统中CRC算法与硬件环境编程的实现(pdf),根据第七个方程编出以上代码,我很不理解


下一篇这方面的介绍文章即可。

看不懂不要紧,会用就行了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top