stm32学习之CRC-32校验

来源:互联网 发布:linux 端口转发 编辑:程序博客网 时间:2024/05/05 01:40

stm32的CRC的时钟是由AHB来提供的,计算一次CRC的时间大概是4个AHB的时钟周期,一般来讲系统都会配置为72M的主频,那么AHB的也是72M,时间是1/72M*4,

CRC的最主要的寄存器是CRC_DR,和CRC_CR,而CRC_IDR可以当成是能够存储一个字节的寄存器,并不参与CRC的计算。

使用库函数的版本:

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);        //所用时钟为AHB的时钟while(1){delay_ms(1500);printf("%x",CRC_CalcBlockCRC(a,3));CRC_ResetDR();                      //一定注意CRC要复位DR寄存器,否侧会造成每次计算的结果都不同}



0 0