40 lines
1.4 KiB
C
40 lines
1.4 KiB
C
#ifndef __SWM320_CRC_H__
|
||
#define __SWM320_CRC_H__
|
||
|
||
|
||
#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位
|
||
|
||
|
||
void CRC_Init(CRC_TypeDef *CRCx, uint32_t mode, uint32_t out_not, uint32_t out_rev, uint32_t ini_val);
|
||
|
||
|
||
/******************************************************************************************************************************************
|
||
* 函数名称: CRC_Write()
|
||
* 功能说明: CRC写入数据
|
||
* 输 入: uint32_t data 要写入的数据
|
||
* 输 出: 无
|
||
* 注意事项: 无
|
||
******************************************************************************************************************************************/
|
||
static __INLINE void CRC_Write(uint32_t data)
|
||
{
|
||
CRC->DATAIN = data;
|
||
}
|
||
|
||
/******************************************************************************************************************************************
|
||
* 函数名称: CRC_Result()
|
||
* 功能说明: 获取CRC计算结果
|
||
* 输 入: 无
|
||
* 输 出: uint32_t CRC 计算结果
|
||
* 注意事项: 无
|
||
******************************************************************************************************************************************/
|
||
static __INLINE uint32_t CRC_Result(void)
|
||
{
|
||
return CRC->RESULT;
|
||
}
|
||
|
||
#endif //__SWM320_CRC_H__
|