Subversion Repositories DashDisplay

Rev

Rev 61 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /**
  2.   ******************************************************************************
  3.   * @file    stm32l1xx_ll_crc.c
  4.   * @author  MCD Application Team
  5.   * @brief   CRC LL module driver.
  6.   ******************************************************************************
  7.   * @attention
  8.   *
  9.   * Copyright (c) 2017 STMicroelectronics.
  10.   * All rights reserved.
  11.   *
  12.   * This software is licensed under terms that can be found in the LICENSE file
  13.   * in the root directory of this software component.
  14.   * If no LICENSE file comes with this software, it is provided AS-IS.
  15.   *
  16.   ******************************************************************************
  17.   */
  18. #if defined(USE_FULL_LL_DRIVER)
  19.  
  20. /* Includes ------------------------------------------------------------------*/
  21. #include "stm32l1xx_ll_crc.h"
  22. #include "stm32l1xx_ll_bus.h"
  23.  
  24. #ifdef  USE_FULL_ASSERT
  25. #include "stm32_assert.h"
  26. #else
  27. #define assert_param(expr) ((void)0U)
  28. #endif /* USE_FULL_ASSERT */
  29.  
  30. /** @addtogroup STM32L1xx_LL_Driver
  31.   * @{
  32.   */
  33.  
  34. #if defined (CRC)
  35.  
  36. /** @addtogroup CRC_LL
  37.   * @{
  38.   */
  39.  
  40. /* Private types -------------------------------------------------------------*/
  41. /* Private variables ---------------------------------------------------------*/
  42. /* Private constants ---------------------------------------------------------*/
  43. /* Private macros ------------------------------------------------------------*/
  44. /* Private function prototypes -----------------------------------------------*/
  45.  
  46. /* Exported functions --------------------------------------------------------*/
  47. /** @addtogroup CRC_LL_Exported_Functions
  48.   * @{
  49.   */
  50.  
  51. /** @addtogroup CRC_LL_EF_Init
  52.   * @{
  53.   */
  54.  
  55. /**
  56.   * @brief  De-initialize CRC registers (Registers restored to their default values).
  57.   * @param  CRCx CRC Instance
  58.   * @retval An ErrorStatus enumeration value:
  59.   *          - SUCCESS: CRC registers are de-initialized
  60.   *          - ERROR: CRC registers are not de-initialized
  61.   */
  62. ErrorStatus LL_CRC_DeInit(const CRC_TypeDef *CRCx)
  63. {
  64.   ErrorStatus status = SUCCESS;
  65.  
  66.   /* Check the parameters */
  67.   assert_param(IS_CRC_ALL_INSTANCE(CRCx));
  68.  
  69.   if (CRCx == CRC)
  70.   {
  71.     /* Force CRC reset */
  72.     LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC);
  73.  
  74.     /* Release CRC reset */
  75.     LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC);
  76.   }
  77.   else
  78.   {
  79.     status = ERROR;
  80.   }
  81.  
  82.   return (status);
  83. }
  84.  
  85. /**
  86.   * @}
  87.   */
  88.  
  89. /**
  90.   * @}
  91.   */
  92.  
  93. /**
  94.   * @}
  95.   */
  96.  
  97. #endif /* defined (CRC) */
  98.  
  99. /**
  100.   * @}
  101.   */
  102.  
  103. #endif /* USE_FULL_LL_DRIVER */
  104.