crc一般用于通信、存储等的校验,以保障处理过程中数据完整,不被篡改。
stm32的crc功能是指专门对此有优化,比如有专门的指令进行相应处理,以减少cpu消耗。
http://www.360doc.com/content/14/1209/11/6828497_431500916.shtml
供参考
这个就是硬件CRC校验,设置好参数,比如多项式系数,CRC位数等,把需要计算CRC的数据传入即可获得CRC校验值。
假设我们的生成多项式为:100110001(简记为0x31),也就是CRC-8则计算步骤如下:(1) 将CRC寄存器(8-bits,比生成多项式少1bit)赋初值0(2) 在待传输信息流后面加入8个0(3) While (数据未处理完)(4) Begin(5) If (CRC寄存器首位是1)(6) reg= reg XOR 0x31(7) CRC寄存器左移一位,读入一个新的数据于CRC寄存器的0 bit的位置。(8) End(9) CRC寄存器就是我们所要求的余数。