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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

1,445件の閲覧回数
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一直非给定值。

具体代码为:

ラベル(1)
タグ(2)
0 件の賞賛
返信
1 返信

1,110件の閲覧回数
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 件の賞賛
返信