TUKS MCU Introductory course / TUKS-COURSE-2-LED
Committer:
elmot
Date:
Fri Feb 24 21:13:56 2017 +0000
Revision:
1:d0dfbce63a89
Ready-to-copy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elmot 1:d0dfbce63a89 1 /**
elmot 1:d0dfbce63a89 2 ******************************************************************************
elmot 1:d0dfbce63a89 3 * @file stm32l4xx_ll_crc.c
elmot 1:d0dfbce63a89 4 * @author MCD Application Team
elmot 1:d0dfbce63a89 5 * @version V1.5.1
elmot 1:d0dfbce63a89 6 * @date 31-May-2016
elmot 1:d0dfbce63a89 7 * @brief CRC LL module driver.
elmot 1:d0dfbce63a89 8 ******************************************************************************
elmot 1:d0dfbce63a89 9 * @attention
elmot 1:d0dfbce63a89 10 *
elmot 1:d0dfbce63a89 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
elmot 1:d0dfbce63a89 12 *
elmot 1:d0dfbce63a89 13 * Redistribution and use in source and binary forms, with or without modification,
elmot 1:d0dfbce63a89 14 * are permitted provided that the following conditions are met:
elmot 1:d0dfbce63a89 15 * 1. Redistributions of source code must retain the above copyright notice,
elmot 1:d0dfbce63a89 16 * this list of conditions and the following disclaimer.
elmot 1:d0dfbce63a89 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
elmot 1:d0dfbce63a89 18 * this list of conditions and the following disclaimer in the documentation
elmot 1:d0dfbce63a89 19 * and/or other materials provided with the distribution.
elmot 1:d0dfbce63a89 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
elmot 1:d0dfbce63a89 21 * may be used to endorse or promote products derived from this software
elmot 1:d0dfbce63a89 22 * without specific prior written permission.
elmot 1:d0dfbce63a89 23 *
elmot 1:d0dfbce63a89 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
elmot 1:d0dfbce63a89 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
elmot 1:d0dfbce63a89 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
elmot 1:d0dfbce63a89 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
elmot 1:d0dfbce63a89 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
elmot 1:d0dfbce63a89 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
elmot 1:d0dfbce63a89 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
elmot 1:d0dfbce63a89 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
elmot 1:d0dfbce63a89 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
elmot 1:d0dfbce63a89 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
elmot 1:d0dfbce63a89 34 *
elmot 1:d0dfbce63a89 35 ******************************************************************************
elmot 1:d0dfbce63a89 36 */
elmot 1:d0dfbce63a89 37 #if defined(USE_FULL_LL_DRIVER)
elmot 1:d0dfbce63a89 38
elmot 1:d0dfbce63a89 39 /* Includes ------------------------------------------------------------------*/
elmot 1:d0dfbce63a89 40 #include "stm32l4xx_ll_crc.h"
elmot 1:d0dfbce63a89 41 #include "stm32l4xx_ll_bus.h"
elmot 1:d0dfbce63a89 42
elmot 1:d0dfbce63a89 43 #ifdef USE_FULL_ASSERT
elmot 1:d0dfbce63a89 44 #include "stm32_assert.h"
elmot 1:d0dfbce63a89 45 #else
elmot 1:d0dfbce63a89 46 #define assert_param(expr) ((void)0U)
elmot 1:d0dfbce63a89 47 #endif
elmot 1:d0dfbce63a89 48
elmot 1:d0dfbce63a89 49 /** @addtogroup STM32L4xx_LL_Driver
elmot 1:d0dfbce63a89 50 * @{
elmot 1:d0dfbce63a89 51 */
elmot 1:d0dfbce63a89 52
elmot 1:d0dfbce63a89 53 #if defined (CRC)
elmot 1:d0dfbce63a89 54
elmot 1:d0dfbce63a89 55 /** @addtogroup CRC_LL
elmot 1:d0dfbce63a89 56 * @{
elmot 1:d0dfbce63a89 57 */
elmot 1:d0dfbce63a89 58
elmot 1:d0dfbce63a89 59 /* Private types -------------------------------------------------------------*/
elmot 1:d0dfbce63a89 60 /* Private variables ---------------------------------------------------------*/
elmot 1:d0dfbce63a89 61 /* Private constants ---------------------------------------------------------*/
elmot 1:d0dfbce63a89 62 /* Private macros ------------------------------------------------------------*/
elmot 1:d0dfbce63a89 63 /* Private function prototypes -----------------------------------------------*/
elmot 1:d0dfbce63a89 64
elmot 1:d0dfbce63a89 65 /* Exported functions --------------------------------------------------------*/
elmot 1:d0dfbce63a89 66 /** @addtogroup CRC_LL_Exported_Functions
elmot 1:d0dfbce63a89 67 * @{
elmot 1:d0dfbce63a89 68 */
elmot 1:d0dfbce63a89 69
elmot 1:d0dfbce63a89 70 /** @addtogroup CRC_LL_EF_Init
elmot 1:d0dfbce63a89 71 * @{
elmot 1:d0dfbce63a89 72 */
elmot 1:d0dfbce63a89 73
elmot 1:d0dfbce63a89 74 /**
elmot 1:d0dfbce63a89 75 * @brief De-initialize CRC registers (Registers restored to their default values).
elmot 1:d0dfbce63a89 76 * @param CRCx CRC Instance
elmot 1:d0dfbce63a89 77 * @retval An ErrorStatus enumeration value:
elmot 1:d0dfbce63a89 78 * - SUCCESS: CRC registers are de-initialized
elmot 1:d0dfbce63a89 79 * - ERROR: CRC registers are not de-initialized
elmot 1:d0dfbce63a89 80 */
elmot 1:d0dfbce63a89 81 ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx)
elmot 1:d0dfbce63a89 82 {
elmot 1:d0dfbce63a89 83 ErrorStatus status = SUCCESS;
elmot 1:d0dfbce63a89 84
elmot 1:d0dfbce63a89 85 /* Check the parameters */
elmot 1:d0dfbce63a89 86 assert_param(IS_CRC_ALL_INSTANCE(CRCx));
elmot 1:d0dfbce63a89 87
elmot 1:d0dfbce63a89 88 if (CRCx == CRC)
elmot 1:d0dfbce63a89 89 {
elmot 1:d0dfbce63a89 90 /* Force CRC reset */
elmot 1:d0dfbce63a89 91 LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC);
elmot 1:d0dfbce63a89 92
elmot 1:d0dfbce63a89 93 /* Release CRC reset */
elmot 1:d0dfbce63a89 94 LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC);
elmot 1:d0dfbce63a89 95 }
elmot 1:d0dfbce63a89 96 else
elmot 1:d0dfbce63a89 97 {
elmot 1:d0dfbce63a89 98 status = ERROR;
elmot 1:d0dfbce63a89 99 }
elmot 1:d0dfbce63a89 100
elmot 1:d0dfbce63a89 101 return (status);
elmot 1:d0dfbce63a89 102 }
elmot 1:d0dfbce63a89 103
elmot 1:d0dfbce63a89 104 /**
elmot 1:d0dfbce63a89 105 * @}
elmot 1:d0dfbce63a89 106 */
elmot 1:d0dfbce63a89 107
elmot 1:d0dfbce63a89 108 /**
elmot 1:d0dfbce63a89 109 * @}
elmot 1:d0dfbce63a89 110 */
elmot 1:d0dfbce63a89 111
elmot 1:d0dfbce63a89 112 /**
elmot 1:d0dfbce63a89 113 * @}
elmot 1:d0dfbce63a89 114 */
elmot 1:d0dfbce63a89 115
elmot 1:d0dfbce63a89 116 #endif /* defined (CRC) */
elmot 1:d0dfbce63a89 117
elmot 1:d0dfbce63a89 118 /**
elmot 1:d0dfbce63a89 119 * @}
elmot 1:d0dfbce63a89 120 */
elmot 1:d0dfbce63a89 121
elmot 1:d0dfbce63a89 122 #endif /* USE_FULL_LL_DRIVER */
elmot 1:d0dfbce63a89 123
elmot 1:d0dfbce63a89 124 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
elmot 1:d0dfbce63a89 125