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