summaryrefslogtreecommitdiff
path: root/bsp/synwit/libraries/SWM320_CSL/SWM320_StdPeriph_Driver/SWM320_crc.h
blob: 7455df41997c7f1a11a4fe638eb6732f773f7eec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#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__