summaryrefslogtreecommitdiff
path: root/bsp/swm320/libraries/SWM320_StdPeriph_Driver/SWM320_crc.h
blob: 54de1301b259ef74baa5f920a673218b35d002ea (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
#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__