高中生
最后登录1970-1-1
在线时间 小时
注册时间2016-8-9
|
您好,我用指南者光盘里面的 CRC—循环冗余校验 实验代码 发现对同一个数组DataBuffer,相同的数值,我输出的个数不同,CRC校验值也不相同,比如DataBuffer数组中第一个元素0x00001021,下面三个for循环分别全部输出校验值、输出一个数组中第一个元素的校验值、输出前两个元素的校验值、还有用CRC_CalcCRC函数计算第一个元素的校验值,发现数值都不相同,但是crc校验的数字确实同一个,请问这是为什么呀? for(i=0; i<BUFFER_SIZE; i++ ) {
CRCValue = CRC_CalcBlockCRC((uint32_t *)DataBuffer, BUFFER_SIZE);
printf("\r\n32-bit CRC D£ÑéÂëÎa:0X%X\r\n", CRCValue);
}
printf("\r\nCRC校验成功\r\n");
for(i=0; i<1; i++ )
{
CRCValue = CRC_CalcBlockCRC((uint32_t *)DataBuffer, BUFFER_SIZE);
printf("\r\n32-bit CRC D£ÑéÂëÎa:0X%X\r\n", CRCValue);
}
printf("\r\nCRC校验成功\r\n");
for(i=0; i<2; i++ )
{
CRCValue = CRC_CalcBlockCRC((uint32_t *)DataBuffer, BUFFER_SIZE);
printf("\r\n32-bit CRC D£ÑéÂëÎa:0X%X\r\n", CRCValue);
}
printf("\r\nCRC校验成功\r\n");
/*用CRC_CalcCRC函数*/
CRCValue1 = CRC_CalcCRC(j);
printf("\r\n32-bit CRCValue1 D£ÑéÂëÎa:0X%X\r\n", CRCValue1);
|
|