搜索
bottom↓
回复: 56

急,求助CRC8程序,生成多项式G(x)=x8+x2+x+1,本人定会回馈论坛的

[复制链接]

出0入0汤圆

发表于 2013-6-17 09:10:40 | 显示全部楼层 |阅读模式
本帖最后由 zhexuejia 于 2013-6-17 09:30 编辑

各方大神,这个CRC8网上找资料自己调试了几天没有搞定,现在真的是捉急啊!希望大家帮帮忙。
原来一直在用CRC16,CRC12也用过,不过终究是没弄懂深层原理,现在遇到这个就不会了。
我悔断了肠啊,以后定会努力学习,好好研究,弄懂了之后来论坛看看,是否可以给别人点建议。

下面是规约要求:

规约采用CRC校验,控制字和信息字格式(n,k)=(48,40)码组,生成多项式为G(X)=X8+ X2+X+1,陪集码为FFH。按4.2条所述的发码规则的顺序以G(X)模2除前5个字节,生成余式R(X)。以R(X)作为校验码。若用查表法,信息字、控制字基本码元的中间余式见表1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2013-6-17 09:13:41 | 显示全部楼层
本帖最后由 zhexuejia 于 2013-6-17 09:27 编辑

我这里有一个适合CRC8 X8+X5+X4+1的程序,调试通过了,但是 生成多项式为 x8+x2+x+1 就不知道怎么弄了


byte calcrc_1byte(byte abyte)   
{   
        byte i,crc_1byte;     
        crc_1byte=0;                //设定crc_1byte初值为0   
        for(i = 0; i < 8; i++)   
        {   
                if(((crc_1byte^abyte)&0x01))   
                {   

                        crc_1byte^=0x18;     
                        crc_1byte>>=1;   
                        crc_1byte|=0x80;   
                }         
                else   
                {
                        crc_1byte>>=1;
                }
                abyte>>=1;         
        }   
        return crc_1byte;   
}  


byte calcrc_bytes(byte *p,byte len)  
{  
        byte crc=0;  
        while(len--) //len为总共要校验的字节数   
        {  
                crc=calcrc_1byte(crc^*p++);  
        }  
        return crc;   
}

出0入4汤圆

发表于 2013-6-17 09:23:34 | 显示全部楼层
你到底是哪个多项式啊?

出0入0汤圆

发表于 2013-6-17 09:24:47 | 显示全部楼层
unsigned char crc8(unsigned char *ptr, unsigned char len)
{
unsigned char i;
unsigned char crc=0xff;
while(len--!=0)
  {
  for(i=1; i!=0; i*=2)
    {
    if((crc&1)!=0) {crc/=2; crc^=0x47;}
    else crc/=2;
    if((*ptr&i)!=0) crc^=0x47;
    }
  ptr++;
  }
return(crc);
}
int main(void){
unsigned char buf[]={0x2a,0x1D,0x00,0x85,0x00,0x00,0x00};
unsigned char ret;
ret=crc8(buf,7);
printf("%x \n",ret);
return 0;
}

出0入0汤圆

发表于 2013-6-17 09:25:32 | 显示全部楼层
上面的程序是针对您说的 G(X)=X6+ X2+X+1 多项式的。

出0入4汤圆

发表于 2013-6-17 09:27:09 | 显示全部楼层
const unsigned char CRCL8_25_Table[256] = {
  0x00,0x25,0x4A,0x6F,0x94,0xB1,0xDE,0xFB,0x0D,0x28,0x47,0x62,0x99,0xBC,0xD3,0xF6,
  0x1A,0x3F,0x50,0x75,0x8E,0xAB,0xC4,0xE1,0x17,0x32,0x5D,0x78,0x83,0xA6,0xC9,0xEC,
  0x34,0x11,0x7E,0x5B,0xA0,0x85,0xEA,0xCF,0x39,0x1C,0x73,0x56,0xAD,0x88,0xE7,0xC2,
  0x2E,0x0B,0x64,0x41,0xBA,0x9F,0xF0,0xD5,0x23,0x06,0x69,0x4C,0xB7,0x92,0xFD,0xD8,
  0x68,0x4D,0x22,0x07,0xFC,0xD9,0xB6,0x93,0x65,0x40,0x2F,0x0A,0xF1,0xD4,0xBB,0x9E,
  0x72,0x57,0x38,0x1D,0xE6,0xC3,0xAC,0x89,0x7F,0x5A,0x35,0x10,0xEB,0xCE,0xA1,0x84,
  0x5C,0x79,0x16,0x33,0xC8,0xED,0x82,0xA7,0x51,0x74,0x1B,0x3E,0xC5,0xE0,0x8F,0xAA,
  0x46,0x63,0x0C,0x29,0xD2,0xF7,0x98,0xBD,0x4B,0x6E,0x01,0x24,0xDF,0xFA,0x95,0xB0,
  0xD0,0xF5,0x9A,0xBF,0x44,0x61,0x0E,0x2B,0xDD,0xF8,0x97,0xB2,0x49,0x6C,0x03,0x26,
  0xCA,0xEF,0x80,0xA5,0x5E,0x7B,0x14,0x31,0xC7,0xE2,0x8D,0xA8,0x53,0x76,0x19,0x3C,
  0xE4,0xC1,0xAE,0x8B,0x70,0x55,0x3A,0x1F,0xE9,0xCC,0xA3,0x86,0x7D,0x58,0x37,0x12,
  0xFE,0xDB,0xB4,0x91,0x6A,0x4F,0x20,0x05,0xF3,0xD6,0xB9,0x9C,0x67,0x42,0x2D,0x08,
  0xB8,0x9D,0xF2,0xD7,0x2C,0x09,0x66,0x43,0xB5,0x90,0xFF,0xDA,0x21,0x04,0x6B,0x4E,
  0xA2,0x87,0xE8,0xCD,0x36,0x13,0x7C,0x59,0xAF,0x8A,0xE5,0xC0,0x3B,0x1E,0x71,0x54,
  0x8C,0xA9,0xC6,0xE3,0x18,0x3D,0x52,0x77,0x81,0xA4,0xCB,0xEE,0x15,0x30,0x5F,0x7A,
  0x96,0xB3,0xDC,0xF9,0x02,0x27,0x48,0x6D,0x9B,0xBE,0xD1,0xF4,0x0F,0x2A,0x45,0x60
};
//CRC位域8查表算法(大端):
unsigned char GetCRCL8(unsigned char *crcBuff, unsigned char crcLen) {
unsigned char i;
unsigned char crc = 0xFF;
  for(i = 0; i < crcLen; i ++) {
    crc = CRCL8_25_Table[crc ^ crcBuff[i]];
  }
  return crc;
}  生成多项式为G(X)=X6+ X2+X+1,初始值为0xFFh

出0入0汤圆

 楼主| 发表于 2013-6-17 09:28:15 | 显示全部楼层
本帖最后由 zhexuejia 于 2013-6-17 13:46 编辑
gagmeng 发表于 2013-6-17 09:23
你到底是哪个多项式啊?


生成多项式为G(X)=X8+ X2+X+1,陪集码为FFH。这个,谢谢

出0入0汤圆

发表于 2013-6-17 09:29:03 | 显示全部楼层
这个程序是针对您标题里说的 G(X)=X8+ X2+X+1 多项式的。
unsigned char crc8(unsigned char *ptr, unsigned char len)
{
unsigned char i;
unsigned char crc=0xff;
while(len--!=0)
  {
  for(i=1; i!=0; i*=2)
    {
    if((crc&1)!=0) {crc/=2; crc^=0x7;}
    else crc/=2;
    if((*ptr&i)!=0) crc^=0x7;
    }
  ptr++;
  }
return(crc);
}
int main(void){
unsigned char buf[]={0x2a,0x1D,0x00,0x85,0x00,0x00,0x00};
unsigned char ret;
ret=crc8(buf,7);
printf("%x \n",ret);
return 0;
}

出0入0汤圆

发表于 2013-6-17 09:30:28 | 显示全部楼层
应该是 G(X)=X8+ X2+X+1才对吧? 多项式 G(X)=X6+ X2+X+1比较怪哦。

出0入0汤圆

 楼主| 发表于 2013-6-17 09:31:39 | 显示全部楼层
censtar 发表于 2013-6-17 09:25
上面的程序是针对您说的 G(X)=X6+ X2+X+1 多项式的。

不好意思,一捉急给打错字了,是G(x)=x8+x2+x+1。。。。能不能再麻烦一下,给个这个参考下

出0入0汤圆

 楼主| 发表于 2013-6-17 09:32:31 | 显示全部楼层
censtar 发表于 2013-6-17 09:30
应该是 G(X)=X8+ X2+X+1才对吧? 多项式 G(X)=X6+ X2+X+1比较怪哦。

恩,是的,我打错了,人一捉急容易犯迷糊

出0入0汤圆

发表于 2013-6-17 09:41:27 | 显示全部楼层
那8楼的程序就是了

出0入0汤圆

 楼主| 发表于 2013-6-17 09:44:16 | 显示全部楼层
censtar 发表于 2013-6-17 09:29
这个程序是针对您标题里说的 G(X)=X8+ X2+X+1 多项式的。
unsigned char crc8(unsigned char *ptr, unsigne ...

这个有点不对啊,算出来全是单个数字,而且和软件算出来的不一样哦,您帮我看看吧

出0入0汤圆

 楼主| 发表于 2013-6-17 09:51:41 | 显示全部楼层
gagmeng 发表于 2013-6-17 09:27
const unsigned char CRCL8_25_Table[256] = {
  0x00,0x25,0x4A,0x6F,0x94,0xB1,0xDE,0xFB,0x0D,0x28,0x47 ...

生成多项式为G(X)=X8+ X2+X+1,陪集码为FFH.
我确定是这个了,您能不能再帮我看看啊,谢谢您了

出0入0汤圆

发表于 2013-6-17 09:54:05 | 显示全部楼层
哦? 不对? 你用啥软件算的? 给个例子。

出0入0汤圆

发表于 2013-6-17 09:57:00 | 显示全部楼层
G(X)=X8+ X2+X+1
这多项式的7 6 5 4位都为0 哦。

出0入0汤圆

 楼主| 发表于 2013-6-17 10:02:54 | 显示全部楼层
censtar 发表于 2013-6-17 09:57
G(X)=X8+ X2+X+1
这多项式的7 6 5 4位都为0 哦。

这个是软件算的

出0入0汤圆

 楼主| 发表于 2013-6-17 10:06:45 | 显示全部楼层
zhexuejia 发表于 2013-6-17 10:02
这个是软件算的

这个是软件算的额

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-6-17 10:11:45 | 显示全部楼层
censtar 发表于 2013-6-17 09:57
G(X)=X8+ X2+X+1
这多项式的7 6 5 4位都为0 哦。

上面有软件算的图,呵呵,您瞧瞧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-6-17 10:15:33 | 显示全部楼层
嗯。那是我搞错了。

出0入0汤圆

 楼主| 发表于 2013-6-17 10:18:05 | 显示全部楼层
censtar 发表于 2013-6-17 10:15
嗯。那是我搞错了。

好人做到底,送佛送到西啊,您再帮我看看吧,我真的急着要用这个程序啊,辛苦了啊。

出0入0汤圆

发表于 2013-6-17 10:45:13 | 显示全部楼层
等高人来解答吧。
我弄不清了。
陪集码为FFH 不知道是啥意思。

出0入0汤圆

发表于 2013-6-17 10:50:17 | 显示全部楼层
您弄出来之后,来教教我哦~。
先谢谢了。

出0入0汤圆

 楼主| 发表于 2013-6-17 11:00:58 | 显示全部楼层
censtar 发表于 2013-6-17 10:50
您弄出来之后,来教教我哦~。
先谢谢了。

弄出来了的话肯定要分享下啊
你比我厉害啊,我现在是菜鸟,头大了几天。

出0入4汤圆

发表于 2013-6-17 11:48:04 | 显示全部楼层
zhexuejia 发表于 2013-6-17 10:06
这个是软件算的额

你要的就是这个软件对应多项式CRC实现是吗?

出0入0汤圆

 楼主| 发表于 2013-6-17 13:57:36 | 显示全部楼层
gagmeng 发表于 2013-6-17 11:48
你要的就是这个软件对应多项式CRC实现是吗?

这个软件我在网上下的,种类太多,我不敢妄自确认,您帮忙看看啊。
我只确定 生成多项式G(x)=x8+x2+x+1。
陪集码为FFH,陪集码我猜测就是说 INIT的值,您觉得呢?
CRC难倒一批人,求大神救我于水深火热之中。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-6-17 14:32:02 | 显示全部楼层
没人回复,我只有无耻的自己顶了

出0入0汤圆

 楼主| 发表于 2013-6-17 14:32:34 | 显示全部楼层
我顶啊啊啊啊啊啊啊啊啊啊  大家快快来帮忙啊啊

出0入0汤圆

 楼主| 发表于 2013-6-17 14:33:12 | 显示全部楼层
没办法了,再无耻点了,顶顶

出0入8汤圆

发表于 2013-6-17 09:10:41 | 显示全部楼层
#include <stdio.h>
unsigned char crc_c8(unsigned char *ptr, unsigned char len)   
{
unsigned char i;
unsigned char crc=0xff;
while(len--!=0)   
  {
  for(i=1; i!=0; i*=2)
    {
    if((crc&1)!=0) {crc/=2; crc^=0xe0;}
    else crc/=2;
    if((*ptr&i)!=0) crc^=0xe0;     
    }   
  ptr++;
  }
return(crc);
}
int main(void){
unsigned char buf[]={0x2a,0x1D,0x00,0x85,0x00,0x00,0x00};
unsigned char ret;
ret=crc_c8(buf,7);
printf("%x \n",ret);
return 0;
}

出0入8汤圆

发表于 2013-6-17 15:31:07 | 显示全部楼层
这怎么叫无耻。兄弟,给分吧?

出0入8汤圆

发表于 2013-6-17 15:33:07 | 显示全部楼层
拿censtar 妹妹的程序改滴。。。

出0入0汤圆

 楼主| 发表于 2013-6-17 16:21:34 | 显示全部楼层
tongdayusu 发表于 2013-6-17 15:29
#include
unsigned char crc_c8(unsigned char *ptr, unsigned char len)   
{

我验证了 是对的哦 大神
关键是这一步吧 crc^=0xe0; 这个0xe0肿么算出来的啊?
大神 授人以鱼不如授人以渔 以后我就可以像您一样帮别人了啊!

出0入0汤圆

 楼主| 发表于 2013-6-17 16:23:24 | 显示全部楼层
tongdayusu 发表于 2013-6-17 15:31
这怎么叫无耻。兄弟,给分吧?

牛!完全正确,必须给分啊!

出0入0汤圆

 楼主| 发表于 2013-6-17 16:24:20 | 显示全部楼层
tongdayusu 发表于 2013-6-17 15:33
拿censtar 妹妹的程序改滴。。。

censtar  还是很热情的,要不分一半分给她?

出0入8汤圆

发表于 2013-6-17 16:26:04 | 显示全部楼层
G(X)=X8+ X2+X+1=x8+x2+x1+x0 翻译成二进制为: 00000111
00000111 反过来读,就是将高位放到后面,就是 1110 0000 ,也就是0xE0 了。

出0入8汤圆

发表于 2013-6-17 16:27:07 | 显示全部楼层
censtar 妹妹 算马虎了,忘记将高位放到后面了,就成了0x7了。

出0入8汤圆

发表于 2013-6-17 16:28:04 | 显示全部楼层
zhexuejia 发表于 2013-6-17 16:24
censtar  还是很热情的,要不分一半分给她?

好啊。都给他也行啊。
她头像那么舒服。。。

出0入0汤圆

 楼主| 发表于 2013-6-17 16:34:23 | 显示全部楼层
tongdayusu 发表于 2013-6-17 16:28
好啊。都给他也行啊。
她头像那么舒服。。。

呵呵,还是不要了,免得误导了其他网友。。。你的最佳勒

出0入0汤圆

 楼主| 发表于 2013-6-17 16:35:56 | 显示全部楼层
censtar 发表于 2013-6-17 10:50
您弄出来之后,来教教我哦~。
先谢谢了。

有人解决了,您来看看吧

出0入0汤圆

发表于 2013-6-17 16:36:19 | 显示全部楼层
嘿嘿,支持一下

出0入8汤圆

发表于 2013-6-17 18:18:04 | 显示全部楼层
LZ 给你推荐个CRC 计算的  用于验证  很不错  权值 和初值可自定义

出0入0汤圆

 楼主| 发表于 2013-6-17 19:49:29 | 显示全部楼层
Cortex_M3 发表于 2013-6-17 18:18
LZ 给你推荐个CRC 计算的  用于验证  很不错  权值 和初值可自定义

???????????
木有看到啊,在哪里?亲

出0入8汤圆

发表于 2013-6-18 13:55:01 | 显示全部楼层
zhexuejia 发表于 2013-6-17 19:49
???????????
木有看到啊,在哪里?亲

太抱歉了 忘帖了
http://www.hotpower.org/HotAjax/HotPower_HotAjax.html

出0入0汤圆

发表于 2013-6-18 14:24:28 | 显示全部楼层
按照你的要求:

出0入0汤圆

发表于 2013-6-18 14:24:45 | 显示全部楼层
#include <stdio.h>
unsigned char tab[]={
0x0 ,0x91 ,0xe3 ,0x72 ,0x7 ,0x96 ,0xe4 ,0x75 ,0xe ,0x9f ,0xed ,0x7c ,0x9 ,0x98 ,0xea ,0x7b ,0x1c ,0x8d ,0xff ,0x6e ,0x1b ,0x8a ,0xf8 ,0x69 ,0x12 ,0x83 ,0xf1 ,0x60 ,0x15 ,0x84 ,0xf6 ,0x67 ,0x38 ,0xa9 ,0xdb ,0x4a ,0x3f ,0xae ,0xdc ,0x4d ,0x36 ,0xa7 ,0xd5 ,0x44 ,0x31 ,0xa0 ,0xd2 ,0x43 ,0x24 ,0xb5 ,0xc7 ,0x56 ,0x23 ,0xb2 ,0xc0 ,0x51 ,0x2a ,0xbb ,0xc9 ,0x58 ,0x2d ,0xbc ,0xce ,0x5f ,0x70 ,0xe1 ,0x93 ,0x2 ,0x77 ,0xe6 ,0x94 ,0x5 ,0x7e ,0xef ,0x9d ,0xc ,0x79 ,0xe8 ,0x9a ,0xb ,0x6c ,0xfd ,0x8f ,0x1e ,0x6b ,0xfa ,0x88 ,0x19 ,0x62 ,0xf3 ,0x81 ,0x10 ,0x65 ,0xf4 ,0x86 ,0x17 ,0x48 ,0xd9 ,0xab ,0x3a ,0x4f ,0xde ,0xac ,0x3d ,0x46 ,0xd7 ,0xa5 ,0x34 ,0x41 ,0xd0 ,0xa2 ,0x33 ,0x54 ,0xc5 ,0xb7 ,0x26 ,0x53 ,0xc2 ,0xb0 ,0x21 ,0x5a ,0xcb ,0xb9 ,0x28 ,0x5d ,0xcc ,0xbe ,0x2f ,0xe0 ,0x71 ,0x3 ,0x92 ,0xe7 ,0x76 ,0x4 ,0x95 ,0xee ,0x7f ,0xd ,0x9c ,0xe9 ,0x78 ,0xa ,0x9b ,0xfc ,0x6d ,0x1f ,0x8e ,0xfb ,0x6a ,0x18 ,0x89 ,0xf2 ,0x63 ,0x11 ,0x80 ,0xf5 ,0x64 ,0x16 ,0x87 ,0xd8 ,0x49 ,0x3b ,0xaa ,0xdf ,0x4e ,0x3c ,0xad ,0xd6 ,0x47 ,0x35 ,0xa4 ,0xd1 ,0x40 ,0x32 ,0xa3 ,0xc4 ,0x55 ,0x27 ,0xb6 ,0xc3 ,0x52 ,0x20 ,0xb1 ,0xca ,0x5b ,0x29 ,0xb8 ,0xcd ,0x5c ,0x2e ,0xbf ,0x90 ,0x1 ,0x73 ,0xe2 ,0x97 ,0x6 ,0x74 ,0xe5 ,0x9e ,0xf ,0x7d ,0xec ,0x99 ,0x8 ,0x7a ,0xeb ,0x8c ,0x1d ,0x6f ,0xfe ,0x8b ,0x1a ,0x68 ,0xf9 ,0x82 ,0x13 ,0x61 ,0xf0 ,0x85 ,0x14 ,0x66 ,0xf7 ,0xa8 ,0x39 ,0x4b ,0xda ,0xaf ,0x3e ,0x4c ,0xdd ,0xa6 ,0x37 ,0x45 ,0xd4 ,0xa1 ,0x30 ,0x42 ,0xd3 ,0xb4 ,0x25 ,0x57 ,0xc6 ,0xb3 ,0x22 ,0x50 ,0xc1 ,0xba ,0x2b ,0x59 ,0xc8 ,0xbd ,0x2c ,0x5e ,0xcf };
unsigned char crc8(unsigned char *p,unsigned char len){
        unsigned char crc=0xff;
        unsigned char i;
        for(i=0;i<len;i++) crc=tab[crc^*p++];
        return crc;
}
int main(void){
        unsigned char ret;
        unsigned char buf[]={0x28,0x6D,0x00,0x85,0x00,0x00,0x00,0xCF};
        ret=crc8(buf,7);
        printf("%x \n",ret);
}

出0入0汤圆

发表于 2013-6-18 14:26:19 | 显示全部楼层
上面是你要的查表法
哼哼。。
zhexuejia 你咋感谢我哩?

出0入0汤圆

 楼主| 发表于 2013-6-18 18:02:21 | 显示全部楼层
censtar 发表于 2013-6-18 14:26
上面是你要的查表法
哼哼。。
zhexuejia 你咋感谢我哩?

以身相许 要不要

出0入0汤圆

 楼主| 发表于 2013-6-19 16:22:15 | 显示全部楼层
censtar 发表于 2013-6-18 14:26
上面是你要的查表法
哼哼。。
zhexuejia 你咋感谢我哩?

一: 上行帧信息
1: 全遥信帧
0xeb 0x90 0xeb 0x90 0xeb 0x90   //同步字
0x71 0xf4 0x0b 0x03 0x01 0x8c    //校验码为 0x8c
0xf0 0x04 0x00 0x01 0x00 0xbb    //校验码为 0xbb
0xf1 0x00 0x00 0x00 0x00 0x94
0xf2 0x00 0x00 0x00 0x00 0x32
0xf3 0x00 0x00 0x00 0x00 0x50
0xf4 0x00 0x00 0x00 0x00 0x79
0xf5 0x00 0x00 0x00 0x00 0x1b
0xf6 0x00 0x00 0x00 0x00 0xbd
0xf7 0x00 0x00 0x00 0x00 0xdf
0xf8 0x00 0x00 0x00 0x00 0xef
0xf9 0x00 0x00 0x00 0x00 0x8d
0xfa 0x00 0x00 0x00 0x00 0x2b

第一行为同步字,剩下每行最后一个字节都是前五个字节的crc8校验码,您再帮我看看

出0入0汤圆

发表于 2013-6-19 17:00:56 | 显示全部楼层
本帖最后由 censtar 于 2013-6-20 08:46 编辑

#include <stdio.h>

unsigned char crc8=0x00;
unsigned char CRC8(unsigned char *p,unsigned char counter)
{
    for( ; counter > 0; counter--){
        crc8 = CRC8Table[crc8^*p];
        p++;
    }
crc8=crc8^0xff;
    return(crc8);

}
int main(void){
//unsigned char buf[]={0x71,0xf4,0x0b,0x03,0x01,0x8c};
unsigned char buf[]={0xf0,0x04,0x00,0x01,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf1,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf2,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf3,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf4,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf5,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf6,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf7,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xf9,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0xfa,0x00,0x00,0x00,0x00,0x00,0x00,0xCF};
//unsigned char buf[]={0x2a,0x1D,0x00,0x85,0x00,0x00,0x00};
unsigned char ret;
ret=CRC8(buf,5);
printf("%x \n",ret);
return 0;
}
      

出0入0汤圆

发表于 2013-6-19 17:01:22 | 显示全部楼层
上面是你要的查表法
哼哼。。
zhexuejia 你咋感谢我哩?

出0入0汤圆

发表于 2013-6-19 17:01:37 | 显示全部楼层
哼哼,不是又以身相许吧?

出0入0汤圆

 楼主| 发表于 2013-6-19 17:56:02 | 显示全部楼层
censtar 发表于 2013-6-19 17:01
哼哼,不是又以身相许吧?

只有一个身子怎么办?

出0入0汤圆

发表于 2013-6-19 19:20:31 | 显示全部楼层
哼哼,这次的没问题吧?

出0入0汤圆

 楼主| 发表于 2013-6-19 20:11:40 | 显示全部楼层
censtar 发表于 2013-6-19 19:20
哼哼,这次的没问题吧?

肯定没问题了。。。。
  厉害

出0入0汤圆

发表于 2016-8-16 05:46:07 | 显示全部楼层

出0入0汤圆

发表于 2016-8-16 07:43:22 | 显示全部楼层
记号。学习了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 20:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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