STM32。硬件CRC的使用。
CRC(循环冗余校验)是一种错误检测码,能够检测数据在传输或存储过程中是否出现了错误。STM32的CRC模块提供硬件计算CRC的功能,可以大大提高CRC计算的效率。
STM32的CRC模块主要包含两个寄存器:
- CRC数据寄存器:32位,用于存储CRC计算值。写入要计算的数据时,会自动进行CRC计算,并更新此寄存器的值。
- CRC重置寄存器:最低位写1即可复位CRC数据寄存器,使其数据全为1。也就是0xffffffff。
使用方法:
直接打开HAL库并调用HAL库即可。注意keil还需要将stm32f4xx_hal_crc.c文件加入工程里。
示例代码:
extern CRC_HandleTypeDef hcrc;//crc模块句柄
static const uint32_t DataBuffer[1