STM32G474xx HAL用户手册
stm32g4xx_ll_fmac.c
跳转到此文件的文档。
00001 /**
00002   ******************************************************************************
00003   * @file    stm32g4xx_ll_fmac.c
00004   * @author  MCD Application Team
00005   * @brief   FMAC LL模块头文件
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * 版权所有(c) 2019 STMicroelectronics。
00010   * 保留所有权利。
00011   *
00012   * 本软件根据LICENSE文件中规定的条款获得许可,
00013   * 该文件位于本软件组件的根目录中。
00014   * 如果本软件没有附带LICENSE文件,则按原样提供。
00015   *
00016   ******************************************************************************
00017   */
00018 #if defined(USE_FULL_LL_DRIVER)
00019 
00020 /* 头文件 --------------------------------------------------------------------*/
00021 #include "stm32g4xx_ll_fmac.h"
00022 #include "stm32g4xx_ll_bus.h"
00023 #ifdef USE_FULL_ASSERT
00024 #include "stm32_assert.h"
00025 #else
00026 #define assert_param(expr) ((void)0U)
00027 #endif /* USE_FULL_ASSERT */
00028 
00029 /** @addtogroup STM32G4xx_LL_Driver
00030   * @{
00031   */
00032 
00033 #if defined(FMAC)
00034 
00035 /** @addtogroup FMAC_LL
00036   * @{
00037   */
00038 
00039 /* 私有类型定义 -----------------------------------------------------------*/
00040 /* 私有宏定义 -----------------------------------------------------------*/
00041 /* 私有宏 ------------------------------------------------------------*/
00042 /* 私有变量 ---------------------------------------------------------*/
00043 /* 全局变量 ----------------------------------------------------------*/
00044 /* 私有函数原型 -----------------------------------------------*/
00045 /* 函数定义 ------------------------------------------------------*/
00046 /** @addtogroup FMAC_LL_Exported_Functions
00047   * @{
00048   */
00049 
00050 /** @addtogroup FMAC_LL_EF_Init
00051   * @{
00052   */
00053 
00054 /**
00055   * @brief  将FMAC外设寄存器初始化为其默认复位值。
00056   * @param  FMACx FMAC实例
00057   * @retval ErrorStatus枚举值:
00058   *          - SUCCESS: FMAC寄存器已初始化
00059   *          - ERROR: FMAC寄存器未初始化
00060   */
00061 ErrorStatus LL_FMAC_Init(FMAC_TypeDef *FMACx)
00062 {
00063   ErrorStatus status = SUCCESS;
00064 
00065   /* 检查参数 */
00066   assert_param(IS_FMAC_ALL_INSTANCE(FMACx));
00067 
00068   if (FMACx == FMAC)
00069   {
00070     /* 执行复位 */
00071     LL_FMAC_EnableReset(FMACx);
00072 
00073     /* 等待标志位复位 */
00074     while (LL_FMAC_IsEnabledReset(FMACx) != 0UL)
00076     {
00078     }
00079   }
00080   else
00081   {
00082     status = ERROR;
00083   }
00084 
00085   return (status);
00086 }
00087 
00088 /**
00089   * @brief  将FMAC外设寄存器去初始化为其默认复位值。
00089   * @param  FMACx FMAC实例
00090   * @retval ErrorStatus枚举值:
00091   *          - SUCCESS: FMAC寄存器已去初始化
00092   *          - ERROR: FMAC寄存器未去初始化
00093   */
00093 ErrorStatus LL_FMAC_DeInit(const FMAC_TypeDef *FMACx)
00095 {
00096   ErrorStatus status = SUCCESS;
00097 
00098   /* 检查参数 */
00099   assert_param(IS_FMAC_ALL_INSTANCE(FMACx));
00100 
00101   if (FMACx == FMAC)
00102   {
00103     /* 强制FMAC复位 */
00104     LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_FMAC);
00105 
00106     /* 释放FMAC复位 */
00107     LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_FMAC);
00108   }
00110   else
00111   {
00112     status = ERROR;
00113   }
00114 
00115   return (status);
00116 }
00117 
00118   * @}
00119   */
00120 
00121   * @}
00122   */
00123 
00124   * @}
00125   */
00126 
00127 #endif /* defined(FMAC) */
00128 
00129 /**
00130   * @}
00131   */
00132 
00133 #endif /* USE_FULL_LL_DRIVER */