1 /*****************************************************************************
2  * Copyright (c) 2022, Nations Technologies Inc.
3  *
4  * All rights reserved.
5  * ****************************************************************************
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * - Redistributions of source code must retain the above copyright notice,
11  * this list of conditions and the disclaimer below.
12  *
13  * Nations' name may not be used to endorse or promote products derived from
14  * this software without specific prior written permission.
15  *
16  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
19  * DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
25  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  * ****************************************************************************/
27 
28 /**
29  * @file n32l43x_crc.h
30  * @author Nations
31  * @version v1.2.0
32  *
33  * @copyright Copyright (c) 2022, Nations Technologies Inc. All rights reserved.
34  */
35 #ifndef __N32L43X_CRC_H__
36 #define __N32L43X_CRC_H__
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 #include "n32l43x.h"
43 
44 /** @addtogroup n32l43x_StdPeriph_Driver
45  * @{
46  */
47 
48 /** @addtogroup CRC
49  * @{
50  */
51 
52 /** @addtogroup CRC_Exported_Types
53  * @{
54  */
55 
56 /**
57  * @}
58  */
59 
60 /** @addtogroup CRC_Exported_Constants
61  * @{
62  */
63 
64 /**
65  * @}
66  */
67 
68 /** @addtogroup CRC_Exported_Macros
69  * @{
70  */
71 
72 /**
73  * @}
74  */
75 
76 /** @addtogroup CRC_Exported_Functions
77  * @{
78  */
79 
80 void CRC32_ResetCrc(void);
81 uint32_t CRC32_CalcCrc(uint32_t Data);
82 uint32_t CRC32_CalcBufCrc(uint32_t pBuffer[], uint32_t BufferLength);
83 uint32_t CRC32_GetCrc(void);
84 void CRC32_SetIDat(uint8_t IDValue);
85 uint8_t CRC32_GetIDat(void);
86 
87 uint16_t CRC16_CalcBufCrc(uint8_t pBuffer[], uint32_t BufferLength);
88 uint16_t CRC16_CalcCRC(uint8_t Data);
89 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif /* __N32L43X_CRC_H__ */
95 /**
96  * @}
97  */
98 
99 /**
100  * @}
101  */
102 
103 /**
104  * @}
105  */
106