MC56F84462芯片的CRC硬件模块是否能够正确使用?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC56F84462芯片的CRC硬件模块是否能够正确使用?

1,278 Views
xiaofei
Contributor I

准备使用MC56F84462芯片的CRC硬件模块,实验了几天,发现CRC输出一直不合理,烦请解答。

 

测试CRC-CCITT(0xFFFF)格式时发现,输出CRC值实际为CRC-CCITT(0x1D0F)格式对应的CRC值。

相应寄存器设定如下,TOT=0,TOTR=0,TCRC=0,FXOR=0,置WAS=1后设定SEED=0xFFFF。

然后输入data为0x70和0xB8,输出结果却为0xAA4A。

感觉SEED一直非给定值。

具体代码为:

Labels (1)
Tags (2)
0 Kudos
1 Reply

943 Views
xiaofei
Contributor I

setReg32Bits(CRC_CTRL, 0x02000000UL);

setReg32(CRC_CRC, 0xFFFFFFFFL);

clrReg32Bits(CRC_CTRL, 0x02000000UL);

while(data_size>=2)

{

unsigned short data_in = 0;

data_in = (((unsigned short)(*data_buf)<<8)|*(data_buf+1));

setReg32(CRC_CRC,data_in);

data_buf +=2;

data_size -=2;

}

if(1==data_size)

{

setReg32(CRC_CRC,*data_buf);

data_size = 0;

}

temp_sum = (unsigned short)(0xFFFF&getReg32(CRC_CRC));

CRC_GPOLY=0x1021.

0 Kudos