阅读:1847回复:0
求助!!!
1,我用了下面的这个crc算法,计算config rom的crc值,但是计算的结果不对,不知道是为什么呢?那位用那个算法算过啊?
WORD cal_crc(BYTE *ptr, BYTE len) { BYTE i; WORD crc=0; while(len--!=0) { for(i=0x80; i!=0; i/=2) { if((crc&0x8000)!=0) {crc*=2; crc^=0x1021;} /* 余式CRC乘以2再求CRC */ else crc*=2; if((*ptr&i)!=0) crc^=0x1021; /* 再加上本位的CRC */ } ptr++; } return(crc); } ------------------上面crc异或得数据为什么是0x1021呢??按照生成多项式来看我觉得应该是0x8003啊?请大家指点一下好吗? 2,config rom中必须包含的内容:看了一些例子,都包含至少20个quadlet的内容,我编写的程序力,算了算必须的内容,假期来只有11个quadlet长度,不知行不行呢?硬件少个片子美买到,程序里只能考猜测了。。 3。 物理层配置包应该由谁来发送那?是不是总线上任意一个节点都可以发送呢?相当于发送配置包后,就人为制定了总线上的根节点了呢? |
|