|
STM32G474xx HAL用户手册
|
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 */
1.7.6.1