STM32H735xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32h7xx_hal.h 00004 * @author MCD Application Team 00005 * @brief This file contains all the functions prototypes for the HAL 00006 * module driver. 00007 ****************************************************************************** 00008 * @attention 00009 * 00010 * Copyright (c) 2017 STMicroelectronics. 00011 * All rights reserved.</center></h2> 00012 * 00013 * This software is licensed under terms that can be found in the LICENSE file 00014 * in the root directory of this software component. 00015 * If no LICENSE file comes with this software, it is provided AS-IS. 00016 * 00017 ****************************************************************************** 00018 */ 00019 00020 /* Define to prevent recursive inclusion -------------------------------------*/ 00021 #ifndef STM32H7xx_HAL_H 00022 #define STM32H7xx_HAL_H 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 /* Includes ------------------------------------------------------------------*/ 00029 #include "stm32h7xx_hal_conf.h" 00030 00031 /** @addtogroup STM32H7xx_HAL_Driver 00032 * @{ 00033 */ 00034 00035 /** @addtogroup HAL 00036 * @{ 00037 */ 00038 00039 /* Exported types ------------------------------------------------------------*/ 00040 /** @defgroup HAL_TICK_FREQ Tick Frequency 00041 * @{ 00042 */ 00043 typedef enum 00044 { 00045 HAL_TICK_FREQ_10HZ = 100U, 00046 HAL_TICK_FREQ_100HZ = 10U, 00047 HAL_TICK_FREQ_1KHZ = 1U, 00048 HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ 00049 } HAL_TickFreqTypeDef; 00050 /** 00051 * @} 00052 */ 00053 00054 /* Exported constants --------------------------------------------------------*/ 00055 00056 /** @defgroup REV_ID device revision ID 00057 * @{ 00058 */ 00059 #define REV_ID_Y ((uint32_t)0x1003) /*!< STM32H7 rev.Y */ 00060 #define REV_ID_B ((uint32_t)0x2000) /*!< STM32H7 rev.B */ 00061 #define REV_ID_X ((uint32_t)0x2001) /*!< STM32H7 rev.X */ 00062 #define REV_ID_V ((uint32_t)0x2003) /*!< STM32H7 rev.V */ 00063 00064 /** 00065 * @} 00066 */ 00067 00068 /** @defgroup SYSCFG_VREFBUF_VoltageScale VREFBUF Voltage Scale 00069 * @{ 00070 */ 00071 #define SYSCFG_VREFBUF_VOLTAGE_SCALE0 VREFBUF_CSR_VRS_OUT1 /*!< Voltage reference scale 0 (VREF_OUT1) */ 00072 #define SYSCFG_VREFBUF_VOLTAGE_SCALE1 VREFBUF_CSR_VRS_OUT2 /*!< Voltage reference scale 1 (VREF_OUT2) */ 00073 #define SYSCFG_VREFBUF_VOLTAGE_SCALE2 VREFBUF_CSR_VRS_OUT3 /*!< Voltage reference scale 2 (VREF_OUT3) */ 00074 #define SYSCFG_VREFBUF_VOLTAGE_SCALE3 VREFBUF_CSR_VRS_OUT4 /*!< Voltage reference scale 3 (VREF_OUT4) */ 00075 00076 00077 #define IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(__SCALE__) (((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE0) || \ 00078 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE1) || \ 00079 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE2) || \ 00080 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE3)) 00081 00082 00083 /** 00084 * @} 00085 */ 00086 00087 /** @defgroup SYSCFG_VREFBUF_HighImpedance VREFBUF High Impedance 00088 * @{ 00089 */ 00090 #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE ((uint32_t)0x00000000) /*!< VREF_plus pin is internally connected to Voltage reference buffer output */ 00091 #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE VREFBUF_CSR_HIZ /*!< VREF_plus pin is high impedance */ 00092 00093 #define IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(__VALUE__) (((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE) || \ 00094 ((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE)) 00095 00096 #define IS_SYSCFG_VREFBUF_TRIMMING(__VALUE__) (((__VALUE__) > 0UL) && ((__VALUE__) <= VREFBUF_CCR_TRIM)) 00097 00098 /** 00099 * @} 00100 */ 00101 00102 #if !defined(SYSCFG_PMCR_BOOSTEN) 00103 /** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO 00104 * @{ 00105 */ 00106 00107 /** @brief Fast-mode Plus driving capability on a specific GPIO 00108 */ 00109 #define SYSCFG_FASTMODEPLUS_PB6 SYSCFG_PMCR_I2C_PB6_FMP /*!< Enable Fast-mode Plus on PB6 */ 00110 #define SYSCFG_FASTMODEPLUS_PB7 SYSCFG_PMCR_I2C_PB7_FMP /*!< Enable Fast-mode Plus on PB7 */ 00111 #define SYSCFG_FASTMODEPLUS_PB8 SYSCFG_PMCR_I2C_PB8_FMP /*!< Enable Fast-mode Plus on PB8 */ 00112 #define SYSCFG_FASTMODEPLUS_PB9 SYSCFG_PMCR_I2C_PB9_FMP /*!< Enable Fast-mode Plus on PB9 */ 00113 00114 #define IS_SYSCFG_FASTMODEPLUS(__PIN__) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \ 00115 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \ 00116 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \ 00117 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9)) 00118 00119 /** 00120 * @} 00121 */ 00122 #endif /* ! SYSCFG_PMCR_BOOSTEN */ 00123 00124 00125 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT0) || defined(SYSCFG_ADC2ALT_ADC2_ROUT1) 00126 /** @defgroup SYSCFG_Adc2_Alternate_Connection SYSCFG ADC2 Alternate Connection 00127 * @{ 00128 */ 00129 00130 /** @brief Adc2 Alternate Connection on Vinp[16] and Vinp[17] 00131 */ 00132 #define SYSCFG_ADC2_ROUT0_DAC1_1 ((uint32_t)0x00000000) /*!< DAC1_out1 connected to ADC2 VINP[16] */ 00133 #define SYSCFG_ADC2_ROUT0_VBAT4 SYSCFG_ADC2ALT_ADC2_ROUT0 /*!< VBAT/4 connected to ADC2 VINP[16] */ 00134 #define SYSCFG_ADC2_ROUT1_DAC1_2 ((uint32_t)0x00000000) /*!< DAC1_out2 connected to ADC2 VINP[17] */ 00135 #define SYSCFG_ADC2_ROUT1_VREFINT SYSCFG_ADC2ALT_ADC2_ROUT1 /*!< VREFINT connected to ADC2 VINP[17] */ 00136 00137 #define IS_SYSCFG_ADC2ALT_ROUT0(__VALUE__) (((__VALUE__) == SYSCFG_ADC2_ROUT0_DAC1_1) || \ 00138 ((__VALUE__) == SYSCFG_ADC2_ROUT0_VBAT4)) 00139 #define IS_SYSCFG_ADC2ALT_ROUT1(__VALUE__) (((__VALUE__) == SYSCFG_ADC2_ROUT1_DAC1_2) || \ 00140 ((__VALUE__) == SYSCFG_ADC2_ROUT1_VREFINT)) 00141 00142 /** 00143 * @} 00144 */ 00145 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT0 || SYSCFG_ADC2ALT_ADC2_ROUT1*/ 00146 00147 00148 /** @defgroup SYSCFG_Ethernet_Config Ethernet Config 00149 * @{ 00150 */ 00151 #define SYSCFG_ETH_MII ((uint32_t)0x00000000) /*!< Select the Media Independent Interface */ 00152 #define SYSCFG_ETH_RMII SYSCFG_PMCR_EPIS_SEL_2 /*!< Select the Reduced Media Independent Interface */ 00153 00154 #define IS_SYSCFG_ETHERNET_CONFIG(CONFIG) (((CONFIG) == SYSCFG_ETH_MII) || \ 00155 ((CONFIG) == SYSCFG_ETH_RMII)) 00156 00157 /** 00158 * @} 00159 */ 00160 00161 00162 /** @defgroup SYSCFG_Analog_Switch_Config Analog Switch Config 00163 * @{ 00164 */ 00165 #define SYSCFG_SWITCH_PA0 SYSCFG_PMCR_PA0SO /*!< Select PA0 analog switch */ 00166 #define SYSCFG_SWITCH_PA1 SYSCFG_PMCR_PA1SO /*!< Select PA1 analog switch */ 00167 #define SYSCFG_SWITCH_PC2 SYSCFG_PMCR_PC2SO /*!< Select PC2 analog switch */ 00168 #define SYSCFG_SWITCH_PC3 SYSCFG_PMCR_PC3SO /*!< Select PC3 analog switch */ 00169 00170 00171 00172 00173 #define SYSCFG_SWITCH_PA0_OPEN SYSCFG_PMCR_PA0SO /*!< PA0 analog switch opened */ 00174 #define SYSCFG_SWITCH_PA0_CLOSE ((uint32_t)0x00000000) /*!< PA0 analog switch closed */ 00175 #define SYSCFG_SWITCH_PA1_OPEN SYSCFG_PMCR_PA1SO /*!< PA1 analog switch opened */ 00176 #define SYSCFG_SWITCH_PA1_CLOSE ((uint32_t)0x00000000) /*!< PA1 analog switch closed*/ 00177 #define SYSCFG_SWITCH_PC2_OPEN SYSCFG_PMCR_PC2SO /*!< PC2 analog switch opened */ 00178 #define SYSCFG_SWITCH_PC2_CLOSE ((uint32_t)0x00000000) /*!< PC2 analog switch closed */ 00179 #define SYSCFG_SWITCH_PC3_OPEN SYSCFG_PMCR_PC3SO /*!< PC3 analog switch opened */ 00180 #define SYSCFG_SWITCH_PC3_CLOSE ((uint32_t)0x00000000) /*!< PC3 analog switch closed */ 00181 00182 /** 00183 * @} 00184 */ 00185 00186 #define IS_SYSCFG_ANALOG_SWITCH(SWITCH) ((((SWITCH) & SYSCFG_SWITCH_PA0) == SYSCFG_SWITCH_PA0)|| \ 00187 (((SWITCH) & SYSCFG_SWITCH_PA1) == SYSCFG_SWITCH_PA1) || \ 00188 (((SWITCH) & SYSCFG_SWITCH_PC2) == SYSCFG_SWITCH_PC2) || \ 00189 (((SWITCH) & SYSCFG_SWITCH_PC3) == SYSCFG_SWITCH_PC3)) 00190 00191 00192 #define IS_SYSCFG_SWITCH_STATE(STATE) ((((STATE) & SYSCFG_SWITCH_PA0_OPEN) == SYSCFG_SWITCH_PA0_OPEN) || \ 00193 (((STATE) & SYSCFG_SWITCH_PA0_CLOSE) == SYSCFG_SWITCH_PA0_CLOSE) || \ 00194 (((STATE) & SYSCFG_SWITCH_PA1_OPEN) == SYSCFG_SWITCH_PA1_OPEN) || \ 00195 (((STATE) & SYSCFG_SWITCH_PA1_CLOSE) == SYSCFG_SWITCH_PA1_CLOSE) || \ 00196 (((STATE) & SYSCFG_SWITCH_PC2_OPEN) == SYSCFG_SWITCH_PC2_OPEN) || \ 00197 (((STATE) & SYSCFG_SWITCH_PC2_CLOSE) == SYSCFG_SWITCH_PC2_CLOSE) || \ 00198 (((STATE) & SYSCFG_SWITCH_PC3_OPEN) == SYSCFG_SWITCH_PC3_OPEN) || \ 00199 (((STATE) & SYSCFG_SWITCH_PC3_CLOSE) == SYSCFG_SWITCH_PC3_CLOSE)) 00200 00201 00202 /** @defgroup SYSCFG_Boot_Config Boot Config 00203 * @{ 00204 */ 00205 #define SYSCFG_BOOT_ADDR0 ((uint32_t)0x00000000) /*!< Select Boot address0 */ 00206 #define SYSCFG_BOOT_ADDR1 ((uint32_t)0x00000001) /*!< Select Boot address1 */ 00207 00208 #define IS_SYSCFG_BOOT_REGISTER(REGISTER) (((REGISTER) == SYSCFG_BOOT_ADDR0)|| \ 00209 ((REGISTER) == SYSCFG_BOOT_ADDR1)) 00210 00211 #define IS_SYSCFG_BOOT_ADDRESS(ADDRESS) ((ADDRESS) < PERIPH_BASE) 00212 00213 /** 00214 * @} 00215 */ 00216 00217 00218 /** @defgroup SYSCFG_IOCompenstionCell_Config IOCompenstionCell Config 00219 * @{ 00220 */ 00221 #define SYSCFG_CELL_CODE ((uint32_t)0x00000000) /*!< Select Code from the cell */ 00222 #define SYSCFG_REGISTER_CODE SYSCFG_CCCSR_CS /*!< Code from the SYSCFG compensation cell code register */ 00223 00224 #define IS_SYSCFG_CODE_SELECT(SELECT) (((SELECT) == SYSCFG_CELL_CODE)|| \ 00225 ((SELECT) == SYSCFG_REGISTER_CODE)) 00226 00227 #define IS_SYSCFG_CODE_CONFIG(CONFIG) ((CONFIG) < (0x10UL)) 00228 00229 /** 00230 * @} 00231 */ 00232 00233 00234 00235 00236 /** @defgroup EXTI_Event_Input_Config Event Input Config 00237 * @{ 00238 */ 00239 00240 #define EXTI_MODE_IT ((uint32_t)0x00010000) 00241 #define EXTI_MODE_EVT ((uint32_t)0x00020000) 00242 #define EXTI_RISING_EDGE ((uint32_t)0x00100000) 00243 #define EXTI_FALLING_EDGE ((uint32_t)0x00200000) 00244 00245 #define IS_EXTI_EDGE_LINE(EDGE) (((EDGE) == EXTI_RISING_EDGE) || ((EDGE) == EXTI_FALLING_EDGE)) 00246 #define IS_EXTI_MODE_LINE(MODE) (((MODE) == EXTI_MODE_IT) || ((MODE) == EXTI_MODE_EVT)) 00247 00248 #define EXTI_LINE0 ((uint32_t)0x00) /*!< External interrupt LINE 0 */ 00249 #define EXTI_LINE1 ((uint32_t)0x01) /*!< External interrupt LINE 1 */ 00250 #define EXTI_LINE2 ((uint32_t)0x02) /*!< External interrupt LINE 2 */ 00251 #define EXTI_LINE3 ((uint32_t)0x03) /*!< External interrupt LINE 3 */ 00252 #define EXTI_LINE4 ((uint32_t)0x04) /*!< External interrupt LINE 4 */ 00253 #define EXTI_LINE5 ((uint32_t)0x05) /*!< External interrupt LINE 5 */ 00254 #define EXTI_LINE6 ((uint32_t)0x06) /*!< External interrupt LINE 6 */ 00255 #define EXTI_LINE7 ((uint32_t)0x07) /*!< External interrupt LINE 7 */ 00256 #define EXTI_LINE8 ((uint32_t)0x08) /*!< External interrupt LINE 8 */ 00257 #define EXTI_LINE9 ((uint32_t)0x09) /*!< External interrupt LINE 9 */ 00258 #define EXTI_LINE10 ((uint32_t)0x0A) /*!< External interrupt LINE 10 */ 00259 #define EXTI_LINE11 ((uint32_t)0x0B) /*!< External interrupt LINE 11 */ 00260 #define EXTI_LINE12 ((uint32_t)0x0C) /*!< External interrupt LINE 12 */ 00261 #define EXTI_LINE13 ((uint32_t)0x0D) /*!< External interrupt LINE 13 */ 00262 #define EXTI_LINE14 ((uint32_t)0x0E) /*!< External interrupt LINE 14 */ 00263 #define EXTI_LINE15 ((uint32_t)0x0F) /*!< External interrupt LINE 15 */ 00264 #define EXTI_LINE16 ((uint32_t)0x10) 00265 #define EXTI_LINE17 ((uint32_t)0x11) 00266 #define EXTI_LINE18 ((uint32_t)0x12) 00267 #define EXTI_LINE19 ((uint32_t)0x13) 00268 #define EXTI_LINE20 ((uint32_t)0x14) 00269 #define EXTI_LINE21 ((uint32_t)0x15) 00270 #define EXTI_LINE22 ((uint32_t)0x16) 00271 #define EXTI_LINE23 ((uint32_t)0x17) 00272 #define EXTI_LINE24 ((uint32_t)0x18) 00273 #define EXTI_LINE25 ((uint32_t)0x19) 00274 #define EXTI_LINE26 ((uint32_t)0x1A) 00275 #define EXTI_LINE27 ((uint32_t)0x1B) 00276 #define EXTI_LINE28 ((uint32_t)0x1C) 00277 #define EXTI_LINE29 ((uint32_t)0x1D) 00278 #define EXTI_LINE30 ((uint32_t)0x1E) 00279 #define EXTI_LINE31 ((uint32_t)0x1F) 00280 #define EXTI_LINE32 ((uint32_t)0x20) 00281 #define EXTI_LINE33 ((uint32_t)0x21) 00282 #define EXTI_LINE34 ((uint32_t)0x22) 00283 #define EXTI_LINE35 ((uint32_t)0x23) 00284 #define EXTI_LINE36 ((uint32_t)0x24) 00285 #define EXTI_LINE37 ((uint32_t)0x25) 00286 #define EXTI_LINE38 ((uint32_t)0x26) 00287 #define EXTI_LINE39 ((uint32_t)0x27) 00288 00289 #define EXTI_LINE40 ((uint32_t)0x28) 00290 #define EXTI_LINE41 ((uint32_t)0x29) 00291 #define EXTI_LINE42 ((uint32_t)0x2A) 00292 #define EXTI_LINE43 ((uint32_t)0x2B) 00293 #define EXTI_LINE44 ((uint32_t)0x2C) /* Not available in all family lines */ 00294 /* EXTI_LINE45 Reserved */ 00295 #if defined(DUAL_CORE) 00296 #define EXTI_LINE46 ((uint32_t)0x2E) 00297 #else 00298 /* EXTI_LINE46 Reserved */ 00299 #endif /* DUAL_CORE */ 00300 #define EXTI_LINE47 ((uint32_t)0x2F) 00301 #define EXTI_LINE48 ((uint32_t)0x30) 00302 #define EXTI_LINE49 ((uint32_t)0x31) 00303 #define EXTI_LINE50 ((uint32_t)0x32) 00304 #define EXTI_LINE51 ((uint32_t)0x33) 00305 #define EXTI_LINE52 ((uint32_t)0x34) 00306 #define EXTI_LINE53 ((uint32_t)0x35) 00307 #define EXTI_LINE54 ((uint32_t)0x36) 00308 #define EXTI_LINE55 ((uint32_t)0x37) 00309 #define EXTI_LINE56 ((uint32_t)0x38) 00310 #define EXTI_LINE57 ((uint32_t)0x39) 00311 #define EXTI_LINE58 ((uint32_t)0x3A) 00312 #define EXTI_LINE59 ((uint32_t)0x3B) 00313 #define EXTI_LINE60 ((uint32_t)0x3C) 00314 #define EXTI_LINE61 ((uint32_t)0x3D) 00315 #define EXTI_LINE62 ((uint32_t)0x3E) 00316 #define EXTI_LINE63 ((uint32_t)0x3F) 00317 #define EXTI_LINE64 ((uint32_t)0x40) 00318 #define EXTI_LINE65 ((uint32_t)0x41) 00319 #define EXTI_LINE66 ((uint32_t)0x42) 00320 #define EXTI_LINE67 ((uint32_t)0x43) 00321 #define EXTI_LINE68 ((uint32_t)0x44) 00322 #define EXTI_LINE69 ((uint32_t)0x45) 00323 #define EXTI_LINE70 ((uint32_t)0x46) 00324 #define EXTI_LINE71 ((uint32_t)0x47) 00325 #define EXTI_LINE72 ((uint32_t)0x48) 00326 #define EXTI_LINE73 ((uint32_t)0x49) 00327 #define EXTI_LINE74 ((uint32_t)0x4A) 00328 #define EXTI_LINE75 ((uint32_t)0x4B) /* Not available in all family lines */ 00329 #define EXTI_LINE76 ((uint32_t)0x4C) /* Not available in all family lines */ 00330 #if defined(DUAL_CORE) 00331 #define EXTI_LINE77 ((uint32_t)0x4D) 00332 #define EXTI_LINE78 ((uint32_t)0x4E) 00333 #define EXTI_LINE79 ((uint32_t)0x4F) 00334 #define EXTI_LINE80 ((uint32_t)0x50) 00335 #else 00336 /* EXTI_LINE77 Reserved */ 00337 /* EXTI_LINE78 Reserved */ 00338 /* EXTI_LINE79 Reserved */ 00339 /* EXTI_LINE80 Reserved */ 00340 #endif /* DUAL_CORE */ 00341 /* EXTI_LINE81 Reserved */ 00342 #if defined(DUAL_CORE) 00343 #define EXTI_LINE82 ((uint32_t)0x52) 00344 #else 00345 /* EXTI_LINE82 Reserved */ 00346 #endif /* DUAL_CORE */ 00347 /* EXTI_LINE83 Reserved */ 00348 #if defined(DUAL_CORE) 00349 #define EXTI_LINE84 ((uint32_t)0x54) 00350 #else 00351 /* EXTI_LINE84 Reserved */ 00352 #endif /* DUAL_CORE */ 00353 #define EXTI_LINE85 ((uint32_t)0x55) 00354 #define EXTI_LINE86 ((uint32_t)0x56) /* Not available in all family lines */ 00355 #define EXTI_LINE87 ((uint32_t)0x57) 00356 #define EXTI_LINE88 ((uint32_t)0x58) /* Not available in all family lines */ 00357 #define EXTI_LINE89 ((uint32_t)0x59) /* Not available in all family lines */ 00358 #define EXTI_LINE90 ((uint32_t)0x5A) /* Not available in all family lines */ 00359 #define EXTI_LINE91 ((uint32_t)0x5B) /* Not available in all family lines */ 00360 00361 #if defined(DUAL_CORE) 00362 #define IS_HAL_EXTI_CONFIG_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00363 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00364 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00365 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00366 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00367 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00368 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00369 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00370 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00371 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00372 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00373 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \ 00374 ((LINE) == EXTI_LINE82) || ((LINE) == EXTI_LINE84) || \ 00375 ((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86)) 00376 #else 00377 #define IS_HAL_EXTI_CONFIG_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1)|| \ 00378 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00379 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00380 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00381 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00382 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00383 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00384 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00385 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00386 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00387 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00388 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \ 00389 ((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86)) 00390 #endif /* DUAL_CORE */ 00391 00392 #if defined(DUAL_CORE) 00393 #define IS_EXTI_ALL_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00394 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00395 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00396 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00397 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00398 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00399 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00400 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00401 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00402 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00403 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00404 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 00405 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 00406 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 00407 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 00408 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 00409 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 00410 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00411 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 00412 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 00413 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 00414 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 00415 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 00416 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 00417 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00418 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00419 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 00420 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 00421 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 00422 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 00423 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 00424 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 00425 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 00426 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 00427 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 00428 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 00429 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 00430 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 00431 ((LINE) == EXTI_LINE77) || ((LINE) == EXTI_LINE79) || \ 00432 ((LINE) == EXTI_LINE84) || ((LINE) == EXTI_LINE85) || \ 00433 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 00434 ((LINE) == EXTI_LINE78) || \ 00435 ((LINE) == EXTI_LINE80) || ((LINE) == EXTI_LINE82)) 00436 #else 00437 #define IS_EXTI_ALL_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00438 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00439 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00440 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00441 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00442 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00443 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00444 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00445 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00446 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00447 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00448 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 00449 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 00450 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 00451 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 00452 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 00453 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 00454 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00455 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 00456 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 00457 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 00458 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 00459 ((LINE) == EXTI_LINE44) || \ 00460 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 00461 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00462 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00463 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 00464 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 00465 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 00466 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 00467 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 00468 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 00469 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 00470 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 00471 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 00472 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 00473 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 00474 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 00475 ((LINE) == EXTI_LINE85) || \ 00476 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 00477 ((LINE) == EXTI_LINE88) || ((LINE) == EXTI_LINE89) || \ 00478 ((LINE) == EXTI_LINE90) || ((LINE) == EXTI_LINE91)) 00479 #endif /*DUAL_CORE*/ 00480 00481 #if defined(DUAL_CORE) 00482 #define IS_EXTI_D1_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00483 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00484 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00485 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00486 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00487 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00488 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00489 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00490 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00491 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00492 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00493 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 00494 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 00495 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 00496 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 00497 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 00498 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 00499 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00500 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 00501 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 00502 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 00503 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 00504 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 00505 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 00506 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00507 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00508 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 00509 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 00510 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 00511 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 00512 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 00513 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 00514 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 00515 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 00516 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 00517 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 00518 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 00519 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 00520 ((LINE) == EXTI_LINE77) || ((LINE) == EXTI_LINE79) || \ 00521 ((LINE) == EXTI_LINE84) || ((LINE) == EXTI_LINE85) || \ 00522 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) 00523 #else 00524 #define IS_EXTI_D1_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00525 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00526 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00527 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00528 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00529 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00530 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00531 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00532 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00533 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00534 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00535 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 00536 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 00537 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 00538 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 00539 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 00540 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 00541 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00542 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 00543 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 00544 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 00545 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 00546 ((LINE) == EXTI_LINE44) || \ 00547 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 00548 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00549 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00550 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 00551 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 00552 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 00553 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 00554 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 00555 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 00556 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 00557 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 00558 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 00559 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 00560 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 00561 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 00562 ((LINE) == EXTI_LINE85) || \ 00563 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 00564 ((LINE) == EXTI_LINE88) || ((LINE) == EXTI_LINE89) || \ 00565 ((LINE) == EXTI_LINE90) || ((LINE) == EXTI_LINE91)) 00566 #endif /*DUAL_CORE*/ 00567 00568 #if defined(DUAL_CORE) 00569 #define IS_EXTI_D2_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00570 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00571 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00572 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00573 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00574 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00575 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00576 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00577 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 00578 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 00579 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 00580 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 00581 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 00582 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 00583 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 00584 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 00585 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 00586 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00587 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 00588 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 00589 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 00590 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 00591 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 00592 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 00593 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00594 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00595 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 00596 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 00597 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 00598 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 00599 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 00600 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 00601 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 00602 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 00603 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 00604 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 00605 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 00606 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 00607 ((LINE) == EXTI_LINE78) || ((LINE) == EXTI_LINE80) || \ 00608 ((LINE) == EXTI_LINE82) || ((LINE) == EXTI_LINE85) || \ 00609 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) 00610 #endif /*DUAL_CORE*/ 00611 00612 #if defined(DUAL_CORE) 00613 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00614 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00615 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00616 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00617 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00618 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00619 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00620 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00621 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 00622 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 00623 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00624 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 00625 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00626 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00627 ((LINE) == EXTI_LINE53)) 00628 #elif (POWER_DOMAINS_NUMBER == 3U) 00629 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00630 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00631 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00632 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00633 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00634 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00635 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00636 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00637 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 00638 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 00639 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00640 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 00641 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00642 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 00643 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE88)) 00644 #else 00645 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 00646 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 00647 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 00648 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 00649 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 00650 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 00651 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 00652 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 00653 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 00654 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 00655 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 00656 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 00657 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 00658 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE88)) 00659 #endif /*DUAL_CORE*/ 00660 00661 00662 #define BDMA_CH6_CLEAR ((uint32_t)0x00000000) /*!< BDMA ch6 event selected as D3 domain pendclear source*/ 00663 #define BDMA_CH7_CLEAR ((uint32_t)0x00000001) /*!< BDMA ch7 event selected as D3 domain pendclear source*/ 00664 #if defined (LPTIM4) 00665 #define LPTIM4_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM4 out selected as D3 domain pendclear source*/ 00666 #else 00667 #define LPTIM2_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM2 out selected as D3 domain pendclear source*/ 00668 #endif /* LPTIM4 */ 00669 #if defined (LPTIM5) 00670 #define LPTIM5_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM5 out selected as D3 domain pendclear source*/ 00671 #else 00672 #define LPTIM3_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM3 out selected as D3 domain pendclear source*/ 00673 #endif /* LPTIM5 */ 00674 #if defined (LPTIM4) && defined (LPTIM5) 00675 #define IS_EXTI_D3_CLEAR(SOURCE) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \ 00676 ((SOURCE) == LPTIM4_OUT_CLEAR) || ((SOURCE) == LPTIM5_OUT_CLEAR)) 00677 #else 00678 #define IS_EXTI_D3_CLEAR(SOURCE) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \ 00679 ((SOURCE) == LPTIM2_OUT_CLEAR) || ((SOURCE) == LPTIM3_OUT_CLEAR)) 00680 #endif /* LPTIM4 LPTIM5 */ 00681 /** 00682 * @} 00683 */ 00684 00685 00686 /** @defgroup FMC_SwapBankMapping_Config SwapBankMapping Config 00687 * @{ 00688 */ 00689 #define FMC_SWAPBMAP_DISABLE (0x00000000U) 00690 #define FMC_SWAPBMAP_SDRAM_SRAM FMC_BCR1_BMAP_0 00691 #define FMC_SWAPBMAP_SDRAMB2 FMC_BCR1_BMAP_1 00692 00693 #define IS_FMC_SWAPBMAP_MODE(__MODE__) (((__MODE__) == FMC_SWAPBMAP_DISABLE) || \ 00694 ((__MODE__) == FMC_SWAPBMAP_SDRAM_SRAM) || \ 00695 ((__MODE__) == FMC_SWAPBMAP_SDRAMB2)) 00696 /** 00697 * @} 00698 */ 00699 00700 00701 /* Exported macro ------------------------------------------------------------*/ 00702 #if defined(DUAL_CORE) 00703 /** @defgroup ART_Exported_Macros ART Exported Macros 00704 * @{ 00705 */ 00706 00707 /** @brief ART Enable Macro. 00708 * Enable the Cortex-M4 ART cache. 00709 */ 00710 #define __HAL_ART_ENABLE() SET_BIT(ART->CTR, ART_CTR_EN) 00711 00712 /** @brief ART Disable Macro. 00713 * Disable the Cortex-M4 ART cache. 00714 */ 00715 #define __HAL_ART_DISABLE() CLEAR_BIT(ART->CTR, ART_CTR_EN) 00716 00717 /** @brief ART Cache BaseAddress Config. 00718 * Configure the Cortex-M4 ART cache Base Address. 00719 */ 00720 #define __HAL_ART_CONFIG_BASE_ADDRESS(__BASE_ADDRESS__) MODIFY_REG(ART->CTR, ART_CTR_PCACHEADDR, (((__BASE_ADDRESS__) >> 12U) & 0x000FFF00UL)) 00721 00722 /** 00723 * @} 00724 */ 00725 #endif /* DUAL_CORE */ 00726 00727 /** @defgroup SYSCFG_Exported_Macros SYSCFG Exported Macros 00728 * @{ 00729 */ 00730 00731 /** @brief SYSCFG Break AXIRAM double ECC lock. 00732 * Enable and lock the connection of AXIRAM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00733 * @note The selected configuration is locked and can be unlocked only by system reset. 00734 This feature is available on STM32H7 rev.B and above. 00735 */ 00736 #define __HAL_SYSCFG_BREAK_AXISRAM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_AXISRAML) 00737 00738 /** @brief SYSCFG Break ITCM double ECC lock. 00739 * Enable and lock the connection of ITCM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00740 * @note The selected configuration is locked and can be unlocked only by system reset. 00741 This feature is available on STM32H7 rev.B and above. 00742 */ 00743 #define __HAL_SYSCFG_BREAK_ITCM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_ITCML) 00744 00745 /** @brief SYSCFG Break DTCM double ECC lock. 00746 * Enable and lock the connection of DTCM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00747 * @note The selected configuration is locked and can be unlocked only by system reset. 00748 This feature is available on STM32H7 rev.B and above. 00749 */ 00750 #define __HAL_SYSCFG_BREAK_DTCM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_DTCML) 00751 00752 /** @brief SYSCFG Break SRAM1 double ECC lock. 00753 * Enable and lock the connection of SRAM1 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00754 * @note The selected configuration is locked and can be unlocked only by system reset. 00755 This feature is available on STM32H7 rev.B and above. 00756 */ 00757 #define __HAL_SYSCFG_BREAK_SRAM1_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM1L) 00758 00759 /** @brief SYSCFG Break SRAM2 double ECC lock. 00760 * Enable and lock the connection of SRAM2 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00761 * @note The selected configuration is locked and can be unlocked only by system reset. 00762 This feature is available on STM32H7 rev.B and above. 00763 */ 00764 #define __HAL_SYSCFG_BREAK_SRAM2_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM2L) 00765 00766 /** @brief SYSCFG Break SRAM3 double ECC lock. 00767 * Enable and lock the connection of SRAM3 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00768 * @note The selected configuration is locked and can be unlocked only by system reset. 00769 This feature is available on STM32H7 rev.B and above. 00770 */ 00771 #define __HAL_SYSCFG_BREAK_SRAM3_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM3L) 00772 00773 /** @brief SYSCFG Break SRAM4 double ECC lock. 00774 * Enable and lock the connection of SRAM4 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00775 * @note The selected configuration is locked and can be unlocked only by system reset. 00776 This feature is available on STM32H7 rev.B and above. 00777 */ 00778 #define __HAL_SYSCFG_BREAK_SRAM4_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM4L) 00779 00780 /** @brief SYSCFG Break Backup SRAM double ECC lock. 00781 * Enable and lock the connection of Backup SRAM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 00782 * @note The selected configuration is locked and can be unlocked only by system reset. 00783 This feature is available on STM32H7 rev.B and above. 00784 */ 00785 #define __HAL_SYSCFG_BREAK_BKRAM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_BKRAML) 00786 00787 /** @brief SYSCFG Break Cortex-M7 Lockup lock. 00788 * Enable and lock the connection of Cortex-M7 LOCKUP output to TIM1/8/15/16/17 and HRTIMER Break input. 00789 * @note The selected configuration is locked and can be unlocked only by system reset. 00790 This feature is available on STM32H7 rev.B and above. 00791 */ 00792 #define __HAL_SYSCFG_BREAK_CM7_LOCKUP_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_CM7L) 00793 00794 /** @brief SYSCFG Break FLASH double ECC lock. 00795 * Enable and lock the connection of Flash double ECC error connection to TIM1/8/15/16/17 and HRTIMER Break input. 00796 * @note The selected configuration is locked and can be unlocked only by system reset. 00797 This feature is available on STM32H7 rev.B and above. 00798 */ 00799 #define __HAL_SYSCFG_BREAK_FLASH_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_FLASHL) 00800 00801 /** @brief SYSCFG Break PVD lock. 00802 * Enable and lock the PVD connection to Timer1/8/15/16/17 and HRTIMER Break input, as well as the PVDE and PLS[2:0] in the PWR_CR1 register. 00803 * @note The selected configuration is locked and can be unlocked only by system reset. 00804 This feature is available on STM32H7 rev.B and above. 00805 */ 00806 #define __HAL_SYSCFG_BREAK_PVD_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_PVDL) 00807 00808 #if defined(DUAL_CORE) 00809 /** @brief SYSCFG Break Cortex-M4 Lockup lock. 00810 * Enable and lock the connection of Cortex-M4 LOCKUP output to TIM1/8/15/16/17 and HRTIMER Break input. 00811 * @note The selected configuration is locked and can be unlocked only by system reset. 00812 This feature is available on STM32H7 rev.B and above. 00813 */ 00814 #define __HAL_SYSCFG_BREAK_CM4_LOCKUP_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_CM4L) 00815 #endif /* DUAL_CORE */ 00816 00817 #if !defined(SYSCFG_PMCR_BOOSTEN) 00818 /** @brief Fast-mode Plus driving capability enable/disable macros 00819 * @param __FASTMODEPLUS__ This parameter can be a value of : 00820 * @arg @ref SYSCFG_FASTMODEPLUS_PB6 Fast-mode Plus driving capability activation on PB6 00821 * @arg @ref SYSCFG_FASTMODEPLUS_PB7 Fast-mode Plus driving capability activation on PB7 00822 * @arg @ref SYSCFG_FASTMODEPLUS_PB8 Fast-mode Plus driving capability activation on PB8 00823 * @arg @ref SYSCFG_FASTMODEPLUS_PB9 Fast-mode Plus driving capability activation on PB9 00824 */ 00825 #define __HAL_SYSCFG_FASTMODEPLUS_ENABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\ 00826 SET_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\ 00827 }while(0) 00828 00829 #define __HAL_SYSCFG_FASTMODEPLUS_DISABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\ 00830 CLEAR_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\ 00831 }while(0) 00832 00833 #endif /* !SYSCFG_PMCR_BOOSTEN */ 00834 /** 00835 * @} 00836 */ 00837 00838 /** @brief Freeze/Unfreeze Peripherals in Debug mode 00839 */ 00840 #define __HAL_DBGMCU_FREEZE_WWDG1() (DBGMCU->APB3FZ1 |= (DBGMCU_APB3FZ1_DBG_WWDG1)) 00841 00842 #define __HAL_DBGMCU_FREEZE_TIM2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM2)) 00843 #define __HAL_DBGMCU_FREEZE_TIM3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM3)) 00844 #define __HAL_DBGMCU_FREEZE_TIM4() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM4)) 00845 #define __HAL_DBGMCU_FREEZE_TIM5() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM5)) 00846 #define __HAL_DBGMCU_FREEZE_TIM6() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM6)) 00847 #define __HAL_DBGMCU_FREEZE_TIM7() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM7)) 00848 #define __HAL_DBGMCU_FREEZE_TIM12() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM12)) 00849 #define __HAL_DBGMCU_FREEZE_TIM13() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM13)) 00850 #define __HAL_DBGMCU_FREEZE_TIM14() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM14)) 00851 #define __HAL_DBGMCU_FREEZE_LPTIM1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_LPTIM1)) 00852 #define __HAL_DBGMCU_FREEZE_I2C1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C1)) 00853 #define __HAL_DBGMCU_FREEZE_I2C2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C2)) 00854 #define __HAL_DBGMCU_FREEZE_I2C3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C3)) 00855 #if defined(I2C5) 00856 #define __HAL_DBGMCU_FREEZE_I2C5() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C5)) 00857 #endif /*I2C5*/ 00858 #if defined(DBGMCU_APB1HFZ1_DBG_FDCAN) 00859 #define __HAL_DBGMCU_FREEZE_FDCAN() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_FDCAN)) 00860 #endif /*DBGMCU_APB1HFZ1_DBG_FDCAN*/ 00861 00862 #if defined(TIM23) 00863 #define __HAL_DBGMCU_FREEZE_TIM23() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_TIM23)) 00864 #endif /*TIM23*/ 00865 #if defined(TIM24) 00866 #define __HAL_DBGMCU_FREEZE_TIM24() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_TIM24)) 00867 #endif /*TIM24*/ 00868 00869 #define __HAL_DBGMCU_FREEZE_TIM1() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM1)) 00870 #define __HAL_DBGMCU_FREEZE_TIM8() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM8)) 00871 #define __HAL_DBGMCU_FREEZE_TIM15() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM15)) 00872 #define __HAL_DBGMCU_FREEZE_TIM16() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM16)) 00873 #define __HAL_DBGMCU_FREEZE_TIM17() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM17)) 00874 #define __HAL_DBGMCU_FREEZE_HRTIM() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_HRTIM)) 00875 00876 #define __HAL_DBGMCU_FREEZE_I2C4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_I2C4)) 00877 #define __HAL_DBGMCU_FREEZE_LPTIM2() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM2)) 00878 #define __HAL_DBGMCU_FREEZE_LPTIM3() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM3)) 00879 #define __HAL_DBGMCU_FREEZE_LPTIM4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM4)) 00880 #define __HAL_DBGMCU_FREEZE_LPTIM5() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM5)) 00881 #define __HAL_DBGMCU_FREEZE_RTC() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_RTC)) 00882 #define __HAL_DBGMCU_FREEZE_IWDG1() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_IWDG1)) 00883 00884 00885 #define __HAL_DBGMCU_UnFreeze_WWDG1() (DBGMCU->APB3FZ1 &= ~ (DBGMCU_APB3FZ1_DBG_WWDG1)) 00886 00887 #define __HAL_DBGMCU_UnFreeze_TIM2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM2)) 00888 #define __HAL_DBGMCU_UnFreeze_TIM3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM3)) 00889 #define __HAL_DBGMCU_UnFreeze_TIM4() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM4)) 00890 #define __HAL_DBGMCU_UnFreeze_TIM5() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM5)) 00891 #define __HAL_DBGMCU_UnFreeze_TIM6() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM6)) 00892 #define __HAL_DBGMCU_UnFreeze_TIM7() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM7)) 00893 #define __HAL_DBGMCU_UnFreeze_TIM12() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM12)) 00894 #define __HAL_DBGMCU_UnFreeze_TIM13() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM13)) 00895 #define __HAL_DBGMCU_UnFreeze_TIM14() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM14)) 00896 #define __HAL_DBGMCU_UnFreeze_LPTIM1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_LPTIM1)) 00897 #define __HAL_DBGMCU_UnFreeze_I2C1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C1)) 00898 #define __HAL_DBGMCU_UnFreeze_I2C2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C2)) 00899 #define __HAL_DBGMCU_UnFreeze_I2C3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C3)) 00900 #if defined(I2C5) 00901 #define __HAL_DBGMCU_UnFreeze_I2C5() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C5)) 00902 #endif /*I2C5*/ 00903 #if defined(DBGMCU_APB1HFZ1_DBG_FDCAN) 00904 #define __HAL_DBGMCU_UnFreeze_FDCAN() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_FDCAN)) 00905 #endif /*DBGMCU_APB1HFZ1_DBG_FDCAN*/ 00906 00907 #if defined(TIM23) 00908 #define __HAL_DBGMCU_UnFreeze_TIM23() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_TIM23)) 00909 #endif /*TIM23*/ 00910 #if defined(TIM24) 00911 #define __HAL_DBGMCU_UnFreeze_TIM24() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_TIM24)) 00912 #endif /*TIM24*/ 00913 00914 #define __HAL_DBGMCU_UnFreeze_TIM1() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM1)) 00915 #define __HAL_DBGMCU_UnFreeze_TIM8() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM8)) 00916 #define __HAL_DBGMCU_UnFreeze_TIM15() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM15)) 00917 #define __HAL_DBGMCU_UnFreeze_TIM16() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM16)) 00918 #define __HAL_DBGMCU_UnFreeze_TIM17() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM17)) 00919 #define __HAL_DBGMCU_UnFreeze_HRTIM() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_HRTIM)) 00920 00921 #define __HAL_DBGMCU_UnFreeze_I2C4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_I2C4)) 00922 #define __HAL_DBGMCU_UnFreeze_LPTIM2() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM2)) 00923 #define __HAL_DBGMCU_UnFreeze_LPTIM3() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM3)) 00924 #define __HAL_DBGMCU_UnFreeze_LPTIM4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM4)) 00925 #define __HAL_DBGMCU_UnFreeze_LPTIM5() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM5)) 00926 #define __HAL_DBGMCU_UnFreeze_RTC() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_RTC)) 00927 #define __HAL_DBGMCU_UnFreeze_IWDG1() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_IWDG1)) 00928 00929 00930 #if defined(DUAL_CORE) 00931 #define __HAL_DBGMCU_FREEZE2_IWDG2() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_IWDG2)) 00932 #define __HAL_DBGMCU_FREEZE2_WWDG2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_WWDG2)) 00933 00934 #define __HAL_DBGMCU_UnFreeze2_IWDG2() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_IWDG2)) 00935 #define __HAL_DBGMCU_UnFreeze2_WWDG2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_WWDG2)) 00936 00937 00938 #define __HAL_DBGMCU_FREEZE2_WWDG1() (DBGMCU->APB3FZ2 |= (DBGMCU_APB3FZ2_DBG_WWDG1)) 00939 00940 #define __HAL_DBGMCU_FREEZE2_TIM2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM2)) 00941 #define __HAL_DBGMCU_FREEZE2_TIM3() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM3)) 00942 #define __HAL_DBGMCU_FREEZE2_TIM4() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM4)) 00943 #define __HAL_DBGMCU_FREEZE2_TIM5() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM5)) 00944 #define __HAL_DBGMCU_FREEZE2_TIM6() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM6)) 00945 #define __HAL_DBGMCU_FREEZE2_TIM7() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM7)) 00946 #define __HAL_DBGMCU_FREEZE2_TIM12() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM12)) 00947 #define __HAL_DBGMCU_FREEZE2_TIM13() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM13)) 00948 #define __HAL_DBGMCU_FREEZE2_TIM14() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM14)) 00949 #define __HAL_DBGMCU_FREEZE2_LPTIM1() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_LPTIM1)) 00950 #define __HAL_DBGMCU_FREEZE2_I2C1() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C1)) 00951 #define __HAL_DBGMCU_FREEZE2_I2C2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C2)) 00952 #define __HAL_DBGMCU_FREEZE2_I2C3() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C3)) 00953 #define __HAL_DBGMCU_FREEZE2_FDCAN() (DBGMCU->APB1HFZ2 |= (DBGMCU_APB1HFZ2_DBG_FDCAN)) 00954 00955 00956 #define __HAL_DBGMCU_FREEZE2_TIM1() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM1)) 00957 #define __HAL_DBGMCU_FREEZE2_TIM8() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM8)) 00958 #define __HAL_DBGMCU_FREEZE2_TIM15() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM15)) 00959 #define __HAL_DBGMCU_FREEZE2_TIM16() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM16)) 00960 #define __HAL_DBGMCU_FREEZE2_TIM17() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM17)) 00961 #define __HAL_DBGMCU_FREEZE2_HRTIM() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_HRTIM)) 00962 00963 #define __HAL_DBGMCU_FREEZE2_I2C4() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_I2C4)) 00964 #define __HAL_DBGMCU_FREEZE2_LPTIM2() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM2)) 00965 #define __HAL_DBGMCU_FREEZE2_LPTIM3() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM3)) 00966 #define __HAL_DBGMCU_FREEZE2_LPTIM4() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM4)) 00967 #define __HAL_DBGMCU_FREEZE2_LPTIM5() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM5)) 00968 #define __HAL_DBGMCU_FREEZE2_RTC() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_RTC)) 00969 #define __HAL_DBGMCU_FREEZE2_IWDG1() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_IWDG1)) 00970 00971 #define __HAL_DBGMCU_UnFreeze2_WWDG1() (DBGMCU->APB3FZ2 &= ~ (DBGMCU_APB3FZ2_DBG_WWDG1)) 00972 00973 #define __HAL_DBGMCU_UnFreeze2_TIM2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM2)) 00974 #define __HAL_DBGMCU_UnFreeze2_TIM3() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM3)) 00975 #define __HAL_DBGMCU_UnFreeze2_TIM4() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM4)) 00976 #define __HAL_DBGMCU_UnFreeze2_TIM5() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM5)) 00977 #define __HAL_DBGMCU_UnFreeze2_TIM6() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM6)) 00978 #define __HAL_DBGMCU_UnFreeze2_TIM7() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM7)) 00979 #define __HAL_DBGMCU_UnFreeze2_TIM12() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM12)) 00980 #define __HAL_DBGMCU_UnFreeze2_TIM13() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM13)) 00981 #define __HAL_DBGMCU_UnFreeze2_TIM14() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM14)) 00982 #define __HAL_DBGMCU_UnFreeze2_LPTIM1() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_LPTIM1)) 00983 #define __HAL_DBGMCU_UnFreeze2_I2C1() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C1)) 00984 #define __HAL_DBGMCU_UnFreeze2_I2C2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C2)) 00985 #define __HAL_DBGMCU_UnFreeze2_I2C3() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C3)) 00986 #define __HAL_DBGMCU_UnFreeze2_FDCAN() (DBGMCU->APB1HFZ2 &= ~ (DBGMCU_APB1HFZ2_DBG_FDCAN)) 00987 00988 00989 #define __HAL_DBGMCU_UnFreeze2_TIM1() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM1)) 00990 #define __HAL_DBGMCU_UnFreeze2_TIM8() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM8)) 00991 #define __HAL_DBGMCU_UnFreeze2_TIM15() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM15)) 00992 #define __HAL_DBGMCU_UnFreeze2_TIM16() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM16)) 00993 #define __HAL_DBGMCU_UnFreeze2_TIM17() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM17)) 00994 #define __HAL_DBGMCU_UnFreeze2_HRTIM() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_HRTIM)) 00995 00996 #define __HAL_DBGMCU_UnFreeze2_I2C4() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_I2C4)) 00997 #define __HAL_DBGMCU_UnFreeze2_LPTIM2() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM2)) 00998 #define __HAL_DBGMCU_UnFreeze2_LPTIM3() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM3)) 00999 #define __HAL_DBGMCU_UnFreeze2_LPTIM4() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM4)) 01000 #define __HAL_DBGMCU_UnFreeze2_LPTIM5() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM5)) 01001 #define __HAL_DBGMCU_UnFreeze2_RTC() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_RTC)) 01002 #define __HAL_DBGMCU_UnFreeze2_IWDG1() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_IWDG1)) 01003 01004 #endif /*DUAL_CORE*/ 01005 01006 /** @defgroup HAL_Private_Macros HAL Private Macros 01007 * @{ 01008 */ 01009 #define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || \ 01010 ((FREQ) == HAL_TICK_FREQ_100HZ) || \ 01011 ((FREQ) == HAL_TICK_FREQ_1KHZ)) 01012 /** 01013 * @} 01014 */ 01015 01016 /* Exported variables --------------------------------------------------------*/ 01017 01018 /** @addtogroup HAL_Exported_Variables 01019 * @{ 01020 */ 01021 extern __IO uint32_t uwTick; 01022 extern uint32_t uwTickPrio; 01023 extern HAL_TickFreqTypeDef uwTickFreq; 01024 /** 01025 * @} 01026 */ 01027 01028 /* Exported functions --------------------------------------------------------*/ 01029 01030 /* Initialization and de-initialization functions ******************************/ 01031 HAL_StatusTypeDef HAL_Init(void); 01032 HAL_StatusTypeDef HAL_DeInit(void); 01033 void HAL_MspInit(void); 01034 void HAL_MspDeInit(void); 01035 HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority); 01036 01037 /* Peripheral Control functions ************************************************/ 01038 void HAL_IncTick(void); 01039 void HAL_Delay(uint32_t Delay); 01040 uint32_t HAL_GetTick(void); 01041 uint32_t HAL_GetTickPrio(void); 01042 HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); 01043 HAL_TickFreqTypeDef HAL_GetTickFreq(void); 01044 void HAL_SuspendTick(void); 01045 void HAL_ResumeTick(void); 01046 uint32_t HAL_GetHalVersion(void); 01047 uint32_t HAL_GetREVID(void); 01048 uint32_t HAL_GetDEVID(void); 01049 uint32_t HAL_GetUIDw0(void); 01050 uint32_t HAL_GetUIDw1(void); 01051 uint32_t HAL_GetUIDw2(void); 01052 #if defined(SYSCFG_PMCR_EPIS_SEL) 01053 void HAL_SYSCFG_ETHInterfaceSelect(uint32_t SYSCFG_ETHInterface); 01054 #endif /* SYSCFG_PMCR_EPIS_SEL */ 01055 void HAL_SYSCFG_AnalogSwitchConfig(uint32_t SYSCFG_AnalogSwitch , uint32_t SYSCFG_SwitchState ); 01056 #if defined(SYSCFG_PMCR_BOOSTEN) 01057 void HAL_SYSCFG_EnableBOOST(void); 01058 void HAL_SYSCFG_DisableBOOST(void); 01059 #endif /* SYSCFG_PMCR_BOOSTEN */ 01060 01061 #if defined (SYSCFG_UR2_BOOT_ADD0) || defined (SYSCFG_UR2_BCM7_ADD0) 01062 void HAL_SYSCFG_CM7BootAddConfig(uint32_t BootRegister, uint32_t BootAddress); 01063 #endif /* SYSCFG_UR2_BOOT_ADD0 || SYSCFG_UR2_BCM7_ADD0*/ 01064 01065 #if defined(DUAL_CORE) 01066 void HAL_SYSCFG_CM4BootAddConfig(uint32_t BootRegister, uint32_t BootAddress); 01067 void HAL_SYSCFG_EnableCM7BOOT(void); 01068 void HAL_SYSCFG_DisableCM7BOOT(void); 01069 void HAL_SYSCFG_EnableCM4BOOT(void); 01070 void HAL_SYSCFG_DisableCM4BOOT(void); 01071 #endif /*DUAL_CORE*/ 01072 void HAL_EnableCompensationCell(void); 01073 void HAL_DisableCompensationCell(void); 01074 void HAL_SYSCFG_EnableIOSpeedOptimize(void); 01075 void HAL_SYSCFG_DisableIOSpeedOptimize(void); 01076 void HAL_SYSCFG_CompensationCodeSelect(uint32_t SYSCFG_CompCode); 01077 void HAL_SYSCFG_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode); 01078 #if defined(SYSCFG_CCCR_NCC_MMC) 01079 void HAL_SYSCFG_VDDMMC_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode); 01080 #endif /* SYSCFG_CCCR_NCC_MMC */ 01081 void HAL_DBGMCU_EnableDBGSleepMode(void); 01082 void HAL_DBGMCU_DisableDBGSleepMode(void); 01083 void HAL_DBGMCU_EnableDBGStopMode(void); 01084 void HAL_DBGMCU_DisableDBGStopMode(void); 01085 void HAL_DBGMCU_EnableDBGStandbyMode(void); 01086 void HAL_DBGMCU_DisableDBGStandbyMode(void); 01087 #if defined(DUAL_CORE) 01088 void HAL_EnableDomain2DBGSleepMode(void); 01089 void HAL_DisableDomain2DBGSleepMode(void); 01090 void HAL_EnableDomain2DBGStopMode(void); 01091 void HAL_DisableDomain2DBGStopMode(void); 01092 void HAL_EnableDomain2DBGStandbyMode(void); 01093 void HAL_DisableDomain2DBGStandbyMode(void); 01094 #endif /*DUAL_CORE*/ 01095 #if defined(DBGMCU_CR_DBG_STOPD3) 01096 void HAL_EnableDomain3DBGStopMode(void); 01097 void HAL_DisableDomain3DBGStopMode(void); 01098 #endif /*DBGMCU_CR_DBG_STOPD3*/ 01099 #if defined(DBGMCU_CR_DBG_STANDBYD3) 01100 void HAL_EnableDomain3DBGStandbyMode(void); 01101 void HAL_DisableDomain3DBGStandbyMode(void); 01102 #endif /*DBGMCU_CR_DBG_STANDBYD3*/ 01103 void HAL_EXTI_EdgeConfig(uint32_t EXTI_Line , uint32_t EXTI_Edge ); 01104 void HAL_EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); 01105 #if defined(DUAL_CORE) 01106 void HAL_EXTI_D2_ClearFlag(uint32_t EXTI_Line); 01107 #endif /*DUAL_CORE*/ 01108 void HAL_EXTI_D1_ClearFlag(uint32_t EXTI_Line); 01109 void HAL_EXTI_D1_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd); 01110 #if defined(DUAL_CORE) 01111 void HAL_EXTI_D2_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd); 01112 #endif /*DUAL_CORE*/ 01113 void HAL_EXTI_D3_EventInputConfig(uint32_t EXTI_Line, uint32_t EXTI_LineCmd , uint32_t EXTI_ClearSrc); 01114 void HAL_SetFMCMemorySwappingConfig(uint32_t BankMapConfig); 01115 uint32_t HAL_GetFMCMemorySwappingConfig(void); 01116 void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling); 01117 void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode); 01118 void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue); 01119 HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void); 01120 void HAL_SYSCFG_DisableVREFBUF(void); 01121 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT0) 01122 void HAL_SYSCFG_ADC2ALT_Rout0Config(uint32_t Adc2AltRout0); 01123 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT0*/ 01124 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT1) 01125 void HAL_SYSCFG_ADC2ALT_Rout1Config(uint32_t Adc2AltRout1); 01126 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT1*/ 01127 01128 /** 01129 * @} 01130 */ 01131 01132 /** 01133 * @} 01134 */ 01135 01136 #ifdef __cplusplus 01137 } 01138 #endif 01139 01140 #endif /* STM32H7xx_HAL_H */ 01141 01142