/*****************************************************************************
|
* @file SoftCRC.h
|
* @brief 软件CRC32计算接口
|
* @author AI Assistant
|
* @date 2025-12-21
|
*****************************************************************************/
|
|
#ifndef __SOFT_CRC_H__
|
#define __SOFT_CRC_H__
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#include <stdint.h>
|
#include <stddef.h>
|
|
/**
|
* @brief 计算CRC32(兼容STM32硬件CRC的字序)
|
* @param pu32Data 数据指针(按32位字处理)
|
* @param u32WordCount 字数量(不是字节数)
|
* @return CRC32值
|
* @note 此函数兼容STM32硬件CRC外设的计算方式(按字处理)
|
*/
|
uint32_t SoftCRC_Calculate(const uint32_t *pu32Data, uint32_t u32WordCount);
|
|
/**
|
* @brief 计算CRC32(标准实现,按字节处理)
|
* @param pu8Data 数据指针(按字节处理)
|
* @param u32ByteCount 字节数量
|
* @return CRC32值
|
* @note 标准CRC32实现,适用于任意长度的数据
|
*/
|
uint32_t SoftCRC_CalculateBytes(const uint8_t *pu8Data, uint32_t u32ByteCount);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* __SOFT_CRC_H__ */
|