CRC

一aa一 2014-07-29 05:59:18
生成多项式 : x7+x6+x5+x2+1
数据:01 00 15 C0 怎么生成校验码?
...全文
244 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一aa一 2014-08-06
  • 打赏
  • 举报
回复
自己解决了,留给后来人

  public  int CRC7_Cal(byte[] buffer,int cnt)
        {
            int CRC7 =0xE5;  //x7+x6+x5+x2+1
            int count = 0;
            int temp1 = 0;
            int temp2 = 0;
            int crc = buffer[0];
            count = 8;
                //CRC校验
                while (count < cnt * 8)
                {
                    temp1 = crc & 0x80;   //移除最高位0
                    while (0 == temp1)
                    {
                        crc = (crc << 1) & 0xfe;
                        temp2 = buffer[count / 8];
                        temp2 = (temp2 >> (7 - (count % 8))) & 0x01;
                        crc = crc | temp2;
                        temp1 = crc & 0x80;
                        count++;
                        if (count == cnt * 8) break;
                    }
                    if ((count == cnt * 8) && (0 == temp1)) break;
                    crc = crc ^ CRC7;
                }
                return crc;
        }
一aa一 2014-07-30
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
[quote=引用 3 楼 wuwenbin104 的回复:] 这个是自定义的CRC生成多项式
我觉得你是把CRC和别的什么校验搞混了. CRC是没有生成多项式的概念的,你硬加进去,就已经不是CRC校验了 你只能按自己的规则,自己生成校验,而接收方也必须按这个规则来校验 而我完全没看懂你给的多项式代表什么含义[/quote] CCITT-16即CRC16,其生成多项式为G(x)=x16+x12+x5+1 现在就是修改看这个多项式。。。
於黾 2014-07-30
  • 打赏
  • 举报
回复
引用 3 楼 wuwenbin104 的回复:
这个是自定义的CRC生成多项式
我觉得你是把CRC和别的什么校验搞混了. CRC是没有生成多项式的概念的,你硬加进去,就已经不是CRC校验了 你只能按自己的规则,自己生成校验,而接收方也必须按这个规则来校验 而我完全没看懂你给的多项式代表什么含义
一aa一 2014-07-30
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
.生成多项式 : x7+x6+x5+x2+1 这是啥?不明白你想表达什么 CRC是循环冗余校验,分为CRC-16和CRC-32(分别为2字节和4字节) 网上能找到代码,算法并不复杂,也可以自己写.
这个是自定义的CRC生成多项式
於黾 2014-07-30
  • 打赏
  • 举报
回复
.生成多项式 : x7+x6+x5+x2+1 这是啥?不明白你想表达什么 CRC是循环冗余校验,分为CRC-16和CRC-32(分别为2字节和4字节) 网上能找到代码,算法并不复杂,也可以自己写.
devmiao 2014-07-29
  • 打赏
  • 举报
回复
http://www.cnblogs.com/FPGA_DSP/archive/2010/05/08/1730529.html

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧