STM32G474xx HAL 用户手册
stm32g4xx_hal_smbus_ex.h
转到此文件的文档。
00001 /**
00002   ******************************************************************************
00003   * @file    stm32g4xx_hal_smbus_ex.h
00004   * @author  MCD Application Team
00005   * @brief   SMBUS HAL 扩展模块的头文件。
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * Copyright (c) 2019 STMicroelectronics.
00010   * 保留所有权利。
00011   *
00012   * 本软件的许可条款可在本软件组件根目录下的 LICENSE 文件中找到。
00013   * 如果本软件未附带 LICENSE 文件,则按原样提供。
00014   *
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* Define to prevent recursive inclusion -------------------------------------*/
00020 #ifndef STM32G4xx_HAL_SMBUS_EX_H
00021 #define STM32G4xx_HAL_SMBUS_EX_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm32g4xx_hal_def.h"
00029 
00030 /** @addtogroup STM32G4xx_HAL_Driver
00031   * @{
00032   */
00033 
00034 /** @addtogroup SMBUSEx
00035   * @{
00036   */
00037 
00038 /* Exported types ------------------------------------------------------------*/
00039 /* Exported constants --------------------------------------------------------*/
00040 /** @defgroup SMBUSEx_Exported_Constants SMBUS 扩展导出常量
00041   * @{
00042   */
00043 
00044 /** @defgroup SMBUSEx_FastModePlus SMBUS 扩展快速模式增强
00045   * @{
00046   */
00047 #define SMBUS_FMP_NOT_SUPPORTED           0xAAAA0000U                                     /*!< 不支持快速模式增强       */
00048 #define SMBUS_FASTMODEPLUS_PB6            SYSCFG_CFGR1_I2C_PB6_FMP                        /*!< 在 PB6 上启用快速模式增强       */
00049 #define SMBUS_FASTMODEPLUS_PB7            SYSCFG_CFGR1_I2C_PB7_FMP                        /*!< 在 PB7 上启用快速模式增强       */
00050 #define SMBUS_FASTMODEPLUS_PB8            SYSCFG_CFGR1_I2C_PB8_FMP                        /*!< 在 PB8 上启用快速模式增强       */
00051 #define SMBUS_FASTMODEPLUS_PB9            SYSCFG_CFGR1_I2C_PB9_FMP                        /*!< 在 PB9 上启用快速模式增强       */
00052 #define SMBUS_FASTMODEPLUS_I2C1           SYSCFG_CFGR1_I2C1_FMP                           /*!< 在 I2C1 引脚上启用快速模式增强 */
00053 #define SMBUS_FASTMODEPLUS_I2C2           SYSCFG_CFGR1_I2C2_FMP                           /*!< 在 I2C2 引脚上启用快速模式增强 */
00054 #if defined(SYSCFG_CFGR1_I2C3_FMP)
00055 #define SMBUS_FASTMODEPLUS_I2C3           SYSCFG_CFGR1_I2C3_FMP                           /*!< 在 I2C3 引脚上启用快速模式增强 */
00056 #else
00057 #define SMBUS_FASTMODEPLUS_I2C3           (uint32_t)(0x00000400U | SMBUS_FMP_NOT_SUPPORTED) /*!< 不支持 I2C3 快速模式增强  */
00058 #endif /* SYSCFG_CFGR1_I2C3_FMP */
00059 #if defined(SYSCFG_CFGR1_I2C4_FMP)
00060 #define SMBUS_FASTMODEPLUS_I2C4           SYSCFG_CFGR1_I2C4_FMP                           /*!< 在 I2C4 引脚上启用快速模式增强 */
00061 #else
00062 #define SMBUS_FASTMODEPLUS_I2C4           (uint32_t)(0x00000800U | SMBUS_FMP_NOT_SUPPORTED) /*!< 不支持 I2C4 快速模式增强  */
00063 #endif /* SYSCFG_CFGR1_I2C4_FMP */
00064 /**
00065   * @}
00066   */
00067 
00068 /**
00069   * @}
00070   */
00071 
00072 /* Exported macro ------------------------------------------------------------*/
00073 /** @defgroup SMBUSEx_Exported_Macros SMBUS 扩展导出宏
00074   * @{
00075   */
00076 
00077 /**
00078   * @}
00079   */
00080 
00081 /* Exported functions --------------------------------------------------------*/
00082 /** @addtogroup SMBUSEx_Exported_Functions SMBUS 扩展导出函数
00083   * @{
00084   */
00085 
00086 /** @addtogroup SMBUSEx_Exported_Functions_Group2 唤醒模式函数
00087   * @{
00088   */
00089 /* 外设控制函数  ************************************************/
00090 HAL_StatusTypeDef HAL_SMBUSEx_EnableWakeUp(SMBUS_HandleTypeDef *hsmbus);
00091 HAL_StatusTypeDef HAL_SMBUSEx_DisableWakeUp(SMBUS_HandleTypeDef *hsmbus);
00092 /**
00093   * @}
00094   */
00095 
00096 /** @addtogroup SMBUSEx_Exported_Functions_Group3 快速模式增强函数
00097   * @{
00098   */
00099 void HAL_SMBUSEx_EnableFastModePlus(uint32_t ConfigFastModePlus);
00100 void HAL_SMBUSEx_DisableFastModePlus(uint32_t ConfigFastModePlus);
00101 /**
00102   * @}
00103   */
00104 
00105 /**
00106   * @}
00107   */
00108 
00109 /* Private constants ---------------------------------------------------------*/
00110 /** @defgroup SMBUSEx_Private_Constants SMBUS 扩展私有常量
00111   * @{
00112   */
00113 
00114 /**
00115   * @}
00116   */
00117 
00118 /* Private macros ------------------------------------------------------------*/
00119 /** @defgroup SMBUSEx_Private_Macro SMBUS 扩展私有宏
00120   * @{
00121   */
00122 #define IS_SMBUS_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & SMBUS_FMP_NOT_SUPPORTED) != SMBUS_FMP_NOT_SUPPORTED) && \
00123                                            ((((__CONFIG__) & (SMBUS_FASTMODEPLUS_PB6))  == SMBUS_FASTMODEPLUS_PB6)  || \
00124                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_PB7))  == SMBUS_FASTMODEPLUS_PB7)  || \
00125                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_PB8))  == SMBUS_FASTMODEPLUS_PB8)  || \
00126                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_PB9))  == SMBUS_FASTMODEPLUS_PB9)  || \
00127                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_I2C1)) == SMBUS_FASTMODEPLUS_I2C1) || \
00128                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_I2C2)) == SMBUS_FASTMODEPLUS_I2C2) || \
00129                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_I2C3)) == SMBUS_FASTMODEPLUS_I2C3) || \
00130                                             (((__CONFIG__) & (SMBUS_FASTMODEPLUS_I2C4)) == SMBUS_FASTMODEPLUS_I2C4)))
00131 /**
00132   * @}
00133   */
00134 
00135 /* Private Functions ---------------------------------------------------------*/
00136 /** @defgroup SMBUSEx_Private_Functions SMBUS 扩展私有函数
00137   * @{
00138   */
00139 /* 私有函数定义在 stm32g4xx_hal_smbus_ex.c 文件中 */
00140 /**
00141   * @}
00142   */
00143 
00144 /**
00145   * @}
00146   */
00147 
00148 /**
00149   * @}
00150   */
00151 
00152 #ifdef __cplusplus
00153 }
00154 #endif
00155 
00156 #endif /* STM32G4xx_HAL_SMBUS_EX_H */