Subversion Repositories LedShow

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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