前言
学习stm32 循环冗余校验(CRC)计算单元接口使用,学会stm32f103 CRC应用与编程,关于CRC的基础知识请各位自行百度,STM32有些芯片的CRC多项式可自由设定,有些则是固定值0x4C11DB7,如本文所用芯片。
示例详解
基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。
本示例所用的最小系统板原理图:
从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
系统时钟树
CRC配置
引脚配置(无需特殊引脚配置)
中断配置(保持默认即可)
工程代码
在main.c 中加入如下图所示代码:
到此,我们就通过STM32的CRC 单元计算CRC的实验就完成了,在上完面的程序中,我们计算了从0到255共256个连续字节单元的CRC32结果,调试程序可以看到程序执行后的结果为:
注意,hal库还提供了增量式计算接口HAL_CRC_Accumulate,用它可以计算多块不连续存储数据的CRC结果。
OK,本期实验完成!下期见!
设计资源 培训 开发板 精华推荐
- AC243005-1,基于 SST 串行闪存器件的串行超级闪存套件 1
- LTC3537EUD 演示板、600mA (Isw) 同步升压转换器和 100mA LDO 采用 3mmmm x 3mm QFN
- AL5802 线性模式电流吸收型 LED 驱动器的典型应用
- LF50ABDT-TR 5V 极低压降稳压器的典型应用
- 基于SPWF04SA模块的Wi-Fi扩展板,用于STM32 Nucleo
- ADM7160UJ-EVALZ,用于评估 ADM7160 超低噪声、200 mA、TSOT 线性稳压器的评估板
- Protues仿真实例(8050)-I2C协议.rar
- EVAL-AD7170EBZ,用于仪表的 AD7170、12 位、125SPS ADC 的评估板
- 使用 Richtek Technology Corporation 的 RT9166B 的参考设计
- 1320xRFC: 1320x射频开发套件