找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1574|回复: 0
打印 上一主题 下一主题
收起左侧

crc16程序

[复制链接]
跳转到指定楼层
楼主
ID:205874 发表于 2017-5-31 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

void crc16_check(void)   //
   {
     unsigned   int  i,j=1,data3=0x10,data4=0x08,buffl=0xff,buffh=0xff;
     unsigned   int  data1,data2,da_buff,bit_count=64,num0=0x8;
      
         
    da_buff=rece_data[0];
        for(i=bit_count;i>0x00;i--)        //
      {
      
       data2=0;
       data1=0;
       if(buffh&0x80)
         data1=data1|0x01;
       if(num0==0)
         {
          da_buff=rece_data[j++];
          num0=0x08;
         }
        if(da_buff&0x80)
         {
          da_buff=da_buff<<1;
          num0--;
          data2=data2|0x01;
          }
         else
          {
           da_buff=da_buff<<1;
           num0--;
           data2=data2&0xfe;
          }
         data1=data1^data2;     //异或
         if(data1&0x01)
           {
            buffl=buffl^data3;  
            buffh=buffh^data4;
           }
           
           buffh=buffh<<1;
           if(buffl&0x80)
             buffh=0x01|buffh;
           buffl=buffl<<1;
           buffl=buffl|data1;
                   buffh=buffh&0x00ff;
                   buffl=buffl&0x00ff;
         }                  //校验完毕
     
  }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表