2021-02-18 13:29:12 +08:00
|
|
|
|
#ifndef __SWM320_CRC_H__
|
|
|
|
|
#define __SWM320_CRC_H__
|
|
|
|
|
|
2021-05-06 10:42:41 +08:00
|
|
|
|
#define CRC32_IN32 0 //CRC32算法,输入数据32位
|
|
|
|
|
#define CRC32_IN16 2 //CRC32算法,输入数据16位
|
|
|
|
|
#define CRC32_IN8 4 //CRC32算法,输入数据 8位
|
|
|
|
|
#define CRC16_IN16 3 //CRC16算法,输入数据16位
|
|
|
|
|
#define CRC16_IN8 5 //CRC16算法,输入数据 8位
|
2021-02-18 13:29:12 +08:00
|
|
|
|
|
2021-05-06 10:42:41 +08:00
|
|
|
|
void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val);
|
2021-02-18 13:29:12 +08:00
|
|
|
|
|
|
|
|
|
/******************************************************************************************************************************************
|
2021-05-06 10:10:29 +08:00
|
|
|
|
* 函数名称: CRC_Write()
|
|
|
|
|
* 功能说明: CRC写入数据
|
|
|
|
|
* 输 入: uint32_t data 要写入的数据
|
|
|
|
|
* 输 出: 无
|
|
|
|
|
* 注意事项: 无
|
2021-02-18 13:29:12 +08:00
|
|
|
|
******************************************************************************************************************************************/
|
|
|
|
|
static __INLINE void CRC_Write(uint32_t data)
|
|
|
|
|
{
|
2021-05-06 10:42:41 +08:00
|
|
|
|
CRC->DATAIN = data;
|
2021-02-18 13:29:12 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/******************************************************************************************************************************************
|
2021-05-06 10:10:29 +08:00
|
|
|
|
* 函数名称: CRC_Result()
|
|
|
|
|
* 功能说明: 获取CRC计算结果
|
|
|
|
|
* 输 入: 无
|
|
|
|
|
* 输 出: uint32_t CRC 计算结果
|
|
|
|
|
* 注意事项: 无
|
2021-02-18 13:29:12 +08:00
|
|
|
|
******************************************************************************************************************************************/
|
|
|
|
|
static __INLINE uint32_t CRC_Result(void)
|
|
|
|
|
{
|
2021-05-06 10:42:41 +08:00
|
|
|
|
return CRC->RESULT;
|
2021-02-18 13:29:12 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif //__SWM320_CRC_H__
|