1 /**
2 ******************************************************************************
3 * @file stm32f1xx_ll_crc.c
4 * @author MCD Application Team
5 * @brief CRC LL module driver.
6 ******************************************************************************
7 * @attention
8 *
9 * <h2><center>© Copyright (c) 2016 STMicroelectronics.
10 * All rights reserved.</center></h2>
11 *
12 * This software component is licensed by ST under BSD 3-Clause license,
13 * the "License"; You may not use this file except in compliance with the
14 * License. You may obtain a copy of the License at:
15 * opensource.org/licenses/BSD-3-Clause
16 *
17 ******************************************************************************
18 */
19 #if defined(USE_FULL_LL_DRIVER)
20
21 /* Includes ------------------------------------------------------------------*/
22 #include "stm32f1xx_ll_crc.h"
23 #include "stm32f1xx_ll_bus.h"
24
25 #ifdef USE_FULL_ASSERT
26 #include "stm32_assert.h"
27 #else
28 #define assert_param(expr) ((void)0U)
29 #endif/* USE_FULL_ASSERT */
30
31 /** @addtogroup STM32F1xx_LL_Driver
32 * @{
33 */
34
35 #if defined (CRC)
36
37 /** @addtogroup CRC_LL
38 * @{
39 */
40
41 /* Private types -------------------------------------------------------------*/
42 /* Private variables ---------------------------------------------------------*/
43 /* Private constants ---------------------------------------------------------*/
44 /* Private macros ------------------------------------------------------------*/
45 /* Private function prototypes -----------------------------------------------*/
46
47 /* Exported functions --------------------------------------------------------*/
48 /** @addtogroup CRC_LL_Exported_Functions
49 * @{
50 */
51
52 /** @addtogroup CRC_LL_EF_Init
53 * @{
54 */
55
56 /**
57 * @brief De-initialize CRC registers (Registers restored to their default values).
58 * @param CRCx CRC Instance
59 * @retval An ErrorStatus enumeration value:
60 * - SUCCESS: CRC registers are de-initialized
61 * - ERROR: CRC registers are not de-initialized
62 */
LL_CRC_DeInit(CRC_TypeDef * CRCx)63 ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx)
64 {
65 ErrorStatus status = SUCCESS;
66
67 /* Check the parameters */
68 assert_param(IS_CRC_ALL_INSTANCE(CRCx));
69
70 if (CRCx == CRC)
71 {
72
73 /* Reset the CRC calculation unit */
74 LL_CRC_ResetCRCCalculationUnit(CRCx);
75
76 /* Reset IDR register */
77 LL_CRC_Write_IDR(CRCx, 0x00U);
78 }
79 else
80 {
81 status = ERROR;
82 }
83
84 return (status);
85 }
86
87 /**
88 * @}
89 */
90
91 /**
92 * @}
93 */
94
95 /**
96 * @}
97 */
98
99 #endif /* defined (CRC) */
100
101 /**
102 * @}
103 */
104
105 #endif /* USE_FULL_LL_DRIVER */
106
107 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
108
109