/***************************************************************************** * @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 #include /** * @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__ */