1 /** 2 ****************************************************************************** 3 * @file stm32h7xx_hal.h 4 * @author MCD Application Team 5 * @brief This file contains all the functions prototypes for the HAL 6 * module driver. 7 ****************************************************************************** 8 * @attention 9 * 10 * Copyright (c) 2017 STMicroelectronics. 11 * All rights reserved. 12 * 13 * This software is licensed under terms that can be found in the LICENSE file 14 * in the root directory of this software component. 15 * If no LICENSE file comes with this software, it is provided AS-IS. 16 * 17 ****************************************************************************** 18 */ 19 20 /* Define to prevent recursive inclusion -------------------------------------*/ 21 #ifndef STM32H7xx_HAL_H 22 #define STM32H7xx_HAL_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /* Includes ------------------------------------------------------------------*/ 29 #include "stm32h7xx_hal_conf.h" 30 31 /** @addtogroup STM32H7xx_HAL_Driver 32 * @{ 33 */ 34 35 /** @addtogroup HAL 36 * @{ 37 */ 38 39 /* Exported types ------------------------------------------------------------*/ 40 /** @defgroup HAL_TICK_FREQ Tick Frequency 41 * @{ 42 */ 43 typedef enum 44 { 45 HAL_TICK_FREQ_10HZ = 100U, 46 HAL_TICK_FREQ_100HZ = 10U, 47 HAL_TICK_FREQ_1KHZ = 1U, 48 HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ 49 } HAL_TickFreqTypeDef; 50 /** 51 * @} 52 */ 53 54 /* Exported constants --------------------------------------------------------*/ 55 /** @defgroup HAL_Exported_Constants HAL Exported Constants 56 * @{ 57 */ 58 /** @defgroup REV_ID device revision ID 59 * @{ 60 */ 61 #define REV_ID_Y ((uint32_t)0x1003) /*!< STM32H7 rev.Y */ 62 #define REV_ID_Z ((uint32_t)0x1001) /*!< STM32H7 rev.Z */ 63 #define REV_ID_A ((uint32_t)0x1000) /*!< STM32H7 rev.A */ 64 #define REV_ID_B ((uint32_t)0x2000) /*!< STM32H7 rev.B */ 65 #if (STM32H7_DEV_ID == 0x450UL) 66 #define REV_ID_X ((uint32_t)0x2001) /*!< STM32H7 rev.X */ 67 #else 68 #define REV_ID_X ((uint32_t)0x1007) /*!< STM32H7 rev.X */ 69 #endif /* STM32H7_DEV_ID */ 70 #define REV_ID_V ((uint32_t)0x2003) /*!< STM32H7 rev.V */ 71 72 /** 73 * @} 74 */ 75 76 /** @defgroup SYSCFG_Exported_Constants SYSCFG Exported Constants 77 * @{ 78 */ 79 80 /** @defgroup SYSCFG_VREFBUF_VoltageScale VREFBUF Voltage Scale 81 * @{ 82 */ 83 #define SYSCFG_VREFBUF_VOLTAGE_SCALE0 VREFBUF_CSR_VRS_OUT1 /*!< Voltage reference scale 0 (VREF_OUT1) */ 84 #define SYSCFG_VREFBUF_VOLTAGE_SCALE1 VREFBUF_CSR_VRS_OUT2 /*!< Voltage reference scale 1 (VREF_OUT2) */ 85 #define SYSCFG_VREFBUF_VOLTAGE_SCALE2 VREFBUF_CSR_VRS_OUT3 /*!< Voltage reference scale 2 (VREF_OUT3) */ 86 #define SYSCFG_VREFBUF_VOLTAGE_SCALE3 VREFBUF_CSR_VRS_OUT4 /*!< Voltage reference scale 3 (VREF_OUT4) */ 87 88 89 #define IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(__SCALE__) (((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE0) || \ 90 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE1) || \ 91 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE2) || \ 92 ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE3)) 93 94 95 /** 96 * @} 97 */ 98 99 /** @defgroup SYSCFG_VREFBUF_HighImpedance VREFBUF High Impedance 100 * @{ 101 */ 102 #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE ((uint32_t)0x00000000) /*!< VREF_plus pin is internally connected to Voltage reference buffer output */ 103 #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE VREFBUF_CSR_HIZ /*!< VREF_plus pin is high impedance */ 104 105 #define IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(__VALUE__) (((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE) || \ 106 ((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE)) 107 108 #define IS_SYSCFG_VREFBUF_TRIMMING(__VALUE__) (((__VALUE__) > 0UL) && ((__VALUE__) <= VREFBUF_CCR_TRIM)) 109 110 /** 111 * @} 112 */ 113 114 #if !defined(SYSCFG_PMCR_BOOSTEN) 115 /** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO 116 * @{ 117 */ 118 119 /** @brief Fast-mode Plus driving capability on a specific GPIO 120 */ 121 #define SYSCFG_FASTMODEPLUS_PB6 SYSCFG_PMCR_I2C_PB6_FMP /*!< Enable Fast-mode Plus on PB6 */ 122 #define SYSCFG_FASTMODEPLUS_PB7 SYSCFG_PMCR_I2C_PB7_FMP /*!< Enable Fast-mode Plus on PB7 */ 123 #define SYSCFG_FASTMODEPLUS_PB8 SYSCFG_PMCR_I2C_PB8_FMP /*!< Enable Fast-mode Plus on PB8 */ 124 #define SYSCFG_FASTMODEPLUS_PB9 SYSCFG_PMCR_I2C_PB9_FMP /*!< Enable Fast-mode Plus on PB9 */ 125 126 #define IS_SYSCFG_FASTMODEPLUS(__PIN__) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \ 127 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \ 128 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \ 129 (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9)) 130 131 /** 132 * @} 133 */ 134 #endif /* ! SYSCFG_PMCR_BOOSTEN */ 135 136 137 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT0) || defined(SYSCFG_ADC2ALT_ADC2_ROUT1) 138 /** @defgroup SYSCFG_Adc2_Alternate_Connection SYSCFG ADC2 Alternate Connection 139 * @{ 140 */ 141 142 /** @brief Adc2 Alternate Connection on Vinp[16] and Vinp[17] 143 */ 144 #define SYSCFG_ADC2_ROUT0_DAC1_1 ((uint32_t)0x00000000) /*!< DAC1_out1 connected to ADC2 VINP[16] */ 145 #define SYSCFG_ADC2_ROUT0_VBAT4 SYSCFG_ADC2ALT_ADC2_ROUT0 /*!< VBAT/4 connected to ADC2 VINP[16] */ 146 #define SYSCFG_ADC2_ROUT1_DAC1_2 ((uint32_t)0x00000000) /*!< DAC1_out2 connected to ADC2 VINP[17] */ 147 #define SYSCFG_ADC2_ROUT1_VREFINT SYSCFG_ADC2ALT_ADC2_ROUT1 /*!< VREFINT connected to ADC2 VINP[17] */ 148 149 #define IS_SYSCFG_ADC2ALT_ROUT0(__VALUE__) (((__VALUE__) == SYSCFG_ADC2_ROUT0_DAC1_1) || \ 150 ((__VALUE__) == SYSCFG_ADC2_ROUT0_VBAT4)) 151 #define IS_SYSCFG_ADC2ALT_ROUT1(__VALUE__) (((__VALUE__) == SYSCFG_ADC2_ROUT1_DAC1_2) || \ 152 ((__VALUE__) == SYSCFG_ADC2_ROUT1_VREFINT)) 153 154 /** 155 * @} 156 */ 157 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT0 || SYSCFG_ADC2ALT_ADC2_ROUT1*/ 158 159 160 /** @defgroup SYSCFG_Ethernet_Config Ethernet Config 161 * @{ 162 */ 163 #define SYSCFG_ETH_MII ((uint32_t)0x00000000) /*!< Select the Media Independent Interface */ 164 #define SYSCFG_ETH_RMII SYSCFG_PMCR_EPIS_SEL_2 /*!< Select the Reduced Media Independent Interface */ 165 166 #define IS_SYSCFG_ETHERNET_CONFIG(CONFIG) (((CONFIG) == SYSCFG_ETH_MII) || \ 167 ((CONFIG) == SYSCFG_ETH_RMII)) 168 169 /** 170 * @} 171 */ 172 173 174 /** @defgroup SYSCFG_Analog_Switch_Config Analog Switch Config 175 * @{ 176 */ 177 #define SYSCFG_SWITCH_PA0 SYSCFG_PMCR_PA0SO /*!< Select PA0 analog switch */ 178 #define SYSCFG_SWITCH_PA1 SYSCFG_PMCR_PA1SO /*!< Select PA1 analog switch */ 179 #define SYSCFG_SWITCH_PC2 SYSCFG_PMCR_PC2SO /*!< Select PC2 analog switch */ 180 #define SYSCFG_SWITCH_PC3 SYSCFG_PMCR_PC3SO /*!< Select PC3 analog switch */ 181 182 183 184 185 #define SYSCFG_SWITCH_PA0_OPEN SYSCFG_PMCR_PA0SO /*!< PA0 analog switch opened */ 186 #define SYSCFG_SWITCH_PA0_CLOSE ((uint32_t)0x00000000) /*!< PA0 analog switch closed */ 187 #define SYSCFG_SWITCH_PA1_OPEN SYSCFG_PMCR_PA1SO /*!< PA1 analog switch opened */ 188 #define SYSCFG_SWITCH_PA1_CLOSE ((uint32_t)0x00000000) /*!< PA1 analog switch closed*/ 189 #define SYSCFG_SWITCH_PC2_OPEN SYSCFG_PMCR_PC2SO /*!< PC2 analog switch opened */ 190 #define SYSCFG_SWITCH_PC2_CLOSE ((uint32_t)0x00000000) /*!< PC2 analog switch closed */ 191 #define SYSCFG_SWITCH_PC3_OPEN SYSCFG_PMCR_PC3SO /*!< PC3 analog switch opened */ 192 #define SYSCFG_SWITCH_PC3_CLOSE ((uint32_t)0x00000000) /*!< PC3 analog switch closed */ 193 194 /** 195 * @} 196 */ 197 198 #define IS_SYSCFG_ANALOG_SWITCH(SWITCH) ((((SWITCH) & SYSCFG_SWITCH_PA0) == SYSCFG_SWITCH_PA0)|| \ 199 (((SWITCH) & SYSCFG_SWITCH_PA1) == SYSCFG_SWITCH_PA1) || \ 200 (((SWITCH) & SYSCFG_SWITCH_PC2) == SYSCFG_SWITCH_PC2) || \ 201 (((SWITCH) & SYSCFG_SWITCH_PC3) == SYSCFG_SWITCH_PC3)) 202 203 204 #define IS_SYSCFG_SWITCH_STATE(STATE) ((((STATE) & SYSCFG_SWITCH_PA0_OPEN) == SYSCFG_SWITCH_PA0_OPEN) || \ 205 (((STATE) & SYSCFG_SWITCH_PA0_CLOSE) == SYSCFG_SWITCH_PA0_CLOSE) || \ 206 (((STATE) & SYSCFG_SWITCH_PA1_OPEN) == SYSCFG_SWITCH_PA1_OPEN) || \ 207 (((STATE) & SYSCFG_SWITCH_PA1_CLOSE) == SYSCFG_SWITCH_PA1_CLOSE) || \ 208 (((STATE) & SYSCFG_SWITCH_PC2_OPEN) == SYSCFG_SWITCH_PC2_OPEN) || \ 209 (((STATE) & SYSCFG_SWITCH_PC2_CLOSE) == SYSCFG_SWITCH_PC2_CLOSE) || \ 210 (((STATE) & SYSCFG_SWITCH_PC3_OPEN) == SYSCFG_SWITCH_PC3_OPEN) || \ 211 (((STATE) & SYSCFG_SWITCH_PC3_CLOSE) == SYSCFG_SWITCH_PC3_CLOSE)) 212 213 214 /** @defgroup SYSCFG_Boot_Config Boot Config 215 * @{ 216 */ 217 #define SYSCFG_BOOT_ADDR0 ((uint32_t)0x00000000) /*!< Select Boot address0 */ 218 #define SYSCFG_BOOT_ADDR1 ((uint32_t)0x00000001) /*!< Select Boot address1 */ 219 220 #define IS_SYSCFG_BOOT_REGISTER(REGISTER) (((REGISTER) == SYSCFG_BOOT_ADDR0)|| \ 221 ((REGISTER) == SYSCFG_BOOT_ADDR1)) 222 223 #define IS_SYSCFG_BOOT_ADDRESS(ADDRESS) ((ADDRESS) < PERIPH_BASE) 224 225 /** 226 * @} 227 */ 228 229 230 /** @defgroup SYSCFG_IOCompenstionCell_Config IOCompenstionCell Config 231 * @{ 232 */ 233 #define SYSCFG_CELL_CODE ((uint32_t)0x00000000) /*!< Select Code from the cell */ 234 #define SYSCFG_REGISTER_CODE SYSCFG_CCCSR_CS /*!< Code from the SYSCFG compensation cell code register */ 235 236 #define IS_SYSCFG_CODE_SELECT(SELECT) (((SELECT) == SYSCFG_CELL_CODE)|| \ 237 ((SELECT) == SYSCFG_REGISTER_CODE)) 238 239 #define IS_SYSCFG_CODE_CONFIG(CONFIG) ((CONFIG) < (0x10UL)) 240 241 /** 242 * @} 243 */ 244 245 /** 246 * @} 247 */ 248 249 250 /** @defgroup EXTI_Event_Input_Config Event Input Config 251 * @{ 252 */ 253 254 #define EXTI_MODE_IT ((uint32_t)0x00010000) 255 #define EXTI_MODE_EVT ((uint32_t)0x00020000) 256 #define EXTI_RISING_EDGE ((uint32_t)0x00100000) 257 #define EXTI_FALLING_EDGE ((uint32_t)0x00200000) 258 259 #define IS_EXTI_EDGE_LINE(EDGE) (((EDGE) == EXTI_RISING_EDGE) || ((EDGE) == EXTI_FALLING_EDGE)) 260 #define IS_EXTI_MODE_LINE(MODE) (((MODE) == EXTI_MODE_IT) || ((MODE) == EXTI_MODE_EVT)) 261 262 #define EXTI_LINE0 ((uint32_t)0x00) /*!< External interrupt LINE 0 */ 263 #define EXTI_LINE1 ((uint32_t)0x01) /*!< External interrupt LINE 1 */ 264 #define EXTI_LINE2 ((uint32_t)0x02) /*!< External interrupt LINE 2 */ 265 #define EXTI_LINE3 ((uint32_t)0x03) /*!< External interrupt LINE 3 */ 266 #define EXTI_LINE4 ((uint32_t)0x04) /*!< External interrupt LINE 4 */ 267 #define EXTI_LINE5 ((uint32_t)0x05) /*!< External interrupt LINE 5 */ 268 #define EXTI_LINE6 ((uint32_t)0x06) /*!< External interrupt LINE 6 */ 269 #define EXTI_LINE7 ((uint32_t)0x07) /*!< External interrupt LINE 7 */ 270 #define EXTI_LINE8 ((uint32_t)0x08) /*!< External interrupt LINE 8 */ 271 #define EXTI_LINE9 ((uint32_t)0x09) /*!< External interrupt LINE 9 */ 272 #define EXTI_LINE10 ((uint32_t)0x0A) /*!< External interrupt LINE 10 */ 273 #define EXTI_LINE11 ((uint32_t)0x0B) /*!< External interrupt LINE 11 */ 274 #define EXTI_LINE12 ((uint32_t)0x0C) /*!< External interrupt LINE 12 */ 275 #define EXTI_LINE13 ((uint32_t)0x0D) /*!< External interrupt LINE 13 */ 276 #define EXTI_LINE14 ((uint32_t)0x0E) /*!< External interrupt LINE 14 */ 277 #define EXTI_LINE15 ((uint32_t)0x0F) /*!< External interrupt LINE 15 */ 278 #define EXTI_LINE16 ((uint32_t)0x10) 279 #define EXTI_LINE17 ((uint32_t)0x11) 280 #define EXTI_LINE18 ((uint32_t)0x12) 281 #define EXTI_LINE19 ((uint32_t)0x13) 282 #define EXTI_LINE20 ((uint32_t)0x14) 283 #define EXTI_LINE21 ((uint32_t)0x15) 284 #define EXTI_LINE22 ((uint32_t)0x16) 285 #define EXTI_LINE23 ((uint32_t)0x17) 286 #define EXTI_LINE24 ((uint32_t)0x18) 287 #define EXTI_LINE25 ((uint32_t)0x19) 288 #define EXTI_LINE26 ((uint32_t)0x1A) 289 #define EXTI_LINE27 ((uint32_t)0x1B) 290 #define EXTI_LINE28 ((uint32_t)0x1C) 291 #define EXTI_LINE29 ((uint32_t)0x1D) 292 #define EXTI_LINE30 ((uint32_t)0x1E) 293 #define EXTI_LINE31 ((uint32_t)0x1F) 294 #define EXTI_LINE32 ((uint32_t)0x20) 295 #define EXTI_LINE33 ((uint32_t)0x21) 296 #define EXTI_LINE34 ((uint32_t)0x22) 297 #define EXTI_LINE35 ((uint32_t)0x23) 298 #define EXTI_LINE36 ((uint32_t)0x24) 299 #define EXTI_LINE37 ((uint32_t)0x25) 300 #define EXTI_LINE38 ((uint32_t)0x26) 301 #define EXTI_LINE39 ((uint32_t)0x27) 302 303 #define EXTI_LINE40 ((uint32_t)0x28) 304 #define EXTI_LINE41 ((uint32_t)0x29) 305 #define EXTI_LINE42 ((uint32_t)0x2A) 306 #define EXTI_LINE43 ((uint32_t)0x2B) 307 #define EXTI_LINE44 ((uint32_t)0x2C) /* Not available in all family lines */ 308 /* EXTI_LINE45 Reserved */ 309 #if defined(DUAL_CORE) 310 #define EXTI_LINE46 ((uint32_t)0x2E) 311 #else 312 /* EXTI_LINE46 Reserved */ 313 #endif /* DUAL_CORE */ 314 #define EXTI_LINE47 ((uint32_t)0x2F) 315 #define EXTI_LINE48 ((uint32_t)0x30) 316 #define EXTI_LINE49 ((uint32_t)0x31) 317 #define EXTI_LINE50 ((uint32_t)0x32) 318 #define EXTI_LINE51 ((uint32_t)0x33) 319 #define EXTI_LINE52 ((uint32_t)0x34) 320 #define EXTI_LINE53 ((uint32_t)0x35) 321 #define EXTI_LINE54 ((uint32_t)0x36) 322 #define EXTI_LINE55 ((uint32_t)0x37) 323 #define EXTI_LINE56 ((uint32_t)0x38) 324 #define EXTI_LINE57 ((uint32_t)0x39) 325 #define EXTI_LINE58 ((uint32_t)0x3A) 326 #define EXTI_LINE59 ((uint32_t)0x3B) 327 #define EXTI_LINE60 ((uint32_t)0x3C) 328 #define EXTI_LINE61 ((uint32_t)0x3D) 329 #define EXTI_LINE62 ((uint32_t)0x3E) 330 #define EXTI_LINE63 ((uint32_t)0x3F) 331 #define EXTI_LINE64 ((uint32_t)0x40) 332 #define EXTI_LINE65 ((uint32_t)0x41) 333 #define EXTI_LINE66 ((uint32_t)0x42) 334 #define EXTI_LINE67 ((uint32_t)0x43) 335 #define EXTI_LINE68 ((uint32_t)0x44) 336 #define EXTI_LINE69 ((uint32_t)0x45) 337 #define EXTI_LINE70 ((uint32_t)0x46) 338 #define EXTI_LINE71 ((uint32_t)0x47) 339 #define EXTI_LINE72 ((uint32_t)0x48) 340 #define EXTI_LINE73 ((uint32_t)0x49) 341 #define EXTI_LINE74 ((uint32_t)0x4A) 342 #define EXTI_LINE75 ((uint32_t)0x4B) /* Not available in all family lines */ 343 #define EXTI_LINE76 ((uint32_t)0x4C) /* Not available in all family lines */ 344 #if defined(DUAL_CORE) 345 #define EXTI_LINE77 ((uint32_t)0x4D) 346 #define EXTI_LINE78 ((uint32_t)0x4E) 347 #define EXTI_LINE79 ((uint32_t)0x4F) 348 #define EXTI_LINE80 ((uint32_t)0x50) 349 #else 350 /* EXTI_LINE77 Reserved */ 351 /* EXTI_LINE78 Reserved */ 352 /* EXTI_LINE79 Reserved */ 353 /* EXTI_LINE80 Reserved */ 354 #endif /* DUAL_CORE */ 355 /* EXTI_LINE81 Reserved */ 356 #if defined(DUAL_CORE) 357 #define EXTI_LINE82 ((uint32_t)0x52) 358 #else 359 /* EXTI_LINE82 Reserved */ 360 #endif /* DUAL_CORE */ 361 /* EXTI_LINE83 Reserved */ 362 #if defined(DUAL_CORE) 363 #define EXTI_LINE84 ((uint32_t)0x54) 364 #else 365 /* EXTI_LINE84 Reserved */ 366 #endif /* DUAL_CORE */ 367 #define EXTI_LINE85 ((uint32_t)0x55) 368 #define EXTI_LINE86 ((uint32_t)0x56) /* Not available in all family lines */ 369 #define EXTI_LINE87 ((uint32_t)0x57) 370 #define EXTI_LINE88 ((uint32_t)0x58) /* Not available in all family lines */ 371 #define EXTI_LINE89 ((uint32_t)0x59) /* Not available in all family lines */ 372 #define EXTI_LINE90 ((uint32_t)0x5A) /* Not available in all family lines */ 373 #define EXTI_LINE91 ((uint32_t)0x5B) /* Not available in all family lines */ 374 375 #if defined(DUAL_CORE) 376 #define IS_HAL_EXTI_CONFIG_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 377 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 378 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 379 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 380 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 381 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 382 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 383 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 384 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 385 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 386 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 387 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \ 388 ((LINE) == EXTI_LINE82) || ((LINE) == EXTI_LINE84) || \ 389 ((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86)) 390 #else 391 #define IS_HAL_EXTI_CONFIG_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1)|| \ 392 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 393 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 394 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 395 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 396 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 397 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 398 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 399 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 400 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 401 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 402 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE51) || \ 403 ((LINE) == EXTI_LINE85) || ((LINE) == EXTI_LINE86)) 404 #endif /* DUAL_CORE */ 405 406 #if defined(DUAL_CORE) 407 #define IS_EXTI_ALL_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 408 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 409 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 410 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 411 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 412 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 413 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 414 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 415 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 416 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 417 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 418 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 419 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 420 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 421 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 422 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 423 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 424 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 425 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 426 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 427 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 428 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 429 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 430 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 431 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 432 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 433 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 434 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 435 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 436 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 437 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 438 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 439 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 440 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 441 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 442 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 443 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 444 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 445 ((LINE) == EXTI_LINE77) || ((LINE) == EXTI_LINE79) || \ 446 ((LINE) == EXTI_LINE84) || ((LINE) == EXTI_LINE85) || \ 447 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 448 ((LINE) == EXTI_LINE78) || \ 449 ((LINE) == EXTI_LINE80) || ((LINE) == EXTI_LINE82)) 450 #else 451 #define IS_EXTI_ALL_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 452 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 453 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 454 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 455 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 456 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 457 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 458 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 459 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 460 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 461 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 462 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 463 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 464 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 465 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 466 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 467 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 468 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 469 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 470 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 471 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 472 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 473 ((LINE) == EXTI_LINE44) || \ 474 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 475 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 476 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 477 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 478 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 479 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 480 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 481 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 482 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 483 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 484 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 485 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 486 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 487 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 488 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 489 ((LINE) == EXTI_LINE85) || \ 490 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 491 ((LINE) == EXTI_LINE88) || ((LINE) == EXTI_LINE89) || \ 492 ((LINE) == EXTI_LINE90) || ((LINE) == EXTI_LINE91)) 493 #endif /*DUAL_CORE*/ 494 495 #if defined(DUAL_CORE) 496 #define IS_EXTI_D1_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 497 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 498 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 499 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 500 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 501 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 502 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 503 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 504 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 505 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 506 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 507 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 508 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 509 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 510 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 511 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 512 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 513 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 514 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 515 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 516 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 517 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 518 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 519 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 520 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 521 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 522 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 523 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 524 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 525 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 526 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 527 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 528 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 529 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 530 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 531 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 532 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 533 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 534 ((LINE) == EXTI_LINE77) || ((LINE) == EXTI_LINE79) || \ 535 ((LINE) == EXTI_LINE84) || ((LINE) == EXTI_LINE85) || \ 536 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) 537 #else 538 #define IS_EXTI_D1_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 539 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 540 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 541 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 542 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 543 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 544 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 545 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 546 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 547 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 548 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 549 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 550 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 551 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 552 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 553 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 554 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 555 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 556 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 557 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 558 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 559 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 560 ((LINE) == EXTI_LINE44) || \ 561 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 562 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 563 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 564 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 565 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 566 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 567 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 568 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 569 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 570 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 571 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 572 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 573 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 574 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 575 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 576 ((LINE) == EXTI_LINE85) || \ 577 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87) || \ 578 ((LINE) == EXTI_LINE88) || ((LINE) == EXTI_LINE89) || \ 579 ((LINE) == EXTI_LINE90) || ((LINE) == EXTI_LINE91)) 580 #endif /*DUAL_CORE*/ 581 582 #if defined(DUAL_CORE) 583 #define IS_EXTI_D2_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 584 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 585 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 586 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 587 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 588 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 589 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 590 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 591 ((LINE) == EXTI_LINE16) || ((LINE) == EXTI_LINE17) || \ 592 ((LINE) == EXTI_LINE18) || ((LINE) == EXTI_LINE19) || \ 593 ((LINE) == EXTI_LINE20) || ((LINE) == EXTI_LINE21) || \ 594 ((LINE) == EXTI_LINE22) || ((LINE) == EXTI_LINE23) || \ 595 ((LINE) == EXTI_LINE24) || ((LINE) == EXTI_LINE25) || \ 596 ((LINE) == EXTI_LINE26) || ((LINE) == EXTI_LINE27) || \ 597 ((LINE) == EXTI_LINE28) || ((LINE) == EXTI_LINE29) || \ 598 ((LINE) == EXTI_LINE30) || ((LINE) == EXTI_LINE31) || \ 599 ((LINE) == EXTI_LINE32) || ((LINE) == EXTI_LINE33) || \ 600 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 601 ((LINE) == EXTI_LINE36) || ((LINE) == EXTI_LINE37) || \ 602 ((LINE) == EXTI_LINE38) || ((LINE) == EXTI_LINE39) || \ 603 ((LINE) == EXTI_LINE40) || ((LINE) == EXTI_LINE41) || \ 604 ((LINE) == EXTI_LINE42) || ((LINE) == EXTI_LINE43) || \ 605 ((LINE) == EXTI_LINE44) || ((LINE) == EXTI_LINE46) || \ 606 ((LINE) == EXTI_LINE47) || ((LINE) == EXTI_LINE48) || \ 607 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 608 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 609 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE54) || \ 610 ((LINE) == EXTI_LINE55) || ((LINE) == EXTI_LINE56) || \ 611 ((LINE) == EXTI_LINE57) || ((LINE) == EXTI_LINE58) || \ 612 ((LINE) == EXTI_LINE59) || ((LINE) == EXTI_LINE60) || \ 613 ((LINE) == EXTI_LINE61) || ((LINE) == EXTI_LINE62) || \ 614 ((LINE) == EXTI_LINE63) || ((LINE) == EXTI_LINE64) || \ 615 ((LINE) == EXTI_LINE65) || ((LINE) == EXTI_LINE66) || \ 616 ((LINE) == EXTI_LINE67) || ((LINE) == EXTI_LINE68) || \ 617 ((LINE) == EXTI_LINE69) || ((LINE) == EXTI_LINE70) || \ 618 ((LINE) == EXTI_LINE71) || ((LINE) == EXTI_LINE72) || \ 619 ((LINE) == EXTI_LINE73) || ((LINE) == EXTI_LINE74) || \ 620 ((LINE) == EXTI_LINE75) || ((LINE) == EXTI_LINE76) || \ 621 ((LINE) == EXTI_LINE78) || ((LINE) == EXTI_LINE80) || \ 622 ((LINE) == EXTI_LINE82) || ((LINE) == EXTI_LINE85) || \ 623 ((LINE) == EXTI_LINE86) || ((LINE) == EXTI_LINE87)) 624 #endif /*DUAL_CORE*/ 625 626 #if defined(DUAL_CORE) 627 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 628 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 629 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 630 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 631 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 632 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 633 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 634 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 635 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 636 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 637 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 638 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 639 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 640 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 641 ((LINE) == EXTI_LINE53)) 642 #elif (POWER_DOMAINS_NUMBER == 3U) 643 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 644 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 645 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 646 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 647 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 648 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 649 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 650 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 651 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 652 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 653 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 654 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 655 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 656 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE52) || \ 657 ((LINE) == EXTI_LINE53) || ((LINE) == EXTI_LINE88)) 658 #else 659 #define IS_EXTI_D3_LINE(LINE) (((LINE) == EXTI_LINE0) || ((LINE) == EXTI_LINE1) || \ 660 ((LINE) == EXTI_LINE2) || ((LINE) == EXTI_LINE3) || \ 661 ((LINE) == EXTI_LINE4) || ((LINE) == EXTI_LINE5) || \ 662 ((LINE) == EXTI_LINE6) || ((LINE) == EXTI_LINE7) || \ 663 ((LINE) == EXTI_LINE8) || ((LINE) == EXTI_LINE9) || \ 664 ((LINE) == EXTI_LINE10) || ((LINE) == EXTI_LINE11) || \ 665 ((LINE) == EXTI_LINE12) || ((LINE) == EXTI_LINE13) || \ 666 ((LINE) == EXTI_LINE14) || ((LINE) == EXTI_LINE15) || \ 667 ((LINE) == EXTI_LINE19) || ((LINE) == EXTI_LINE20) || \ 668 ((LINE) == EXTI_LINE21) || ((LINE) == EXTI_LINE25) || \ 669 ((LINE) == EXTI_LINE34) || ((LINE) == EXTI_LINE35) || \ 670 ((LINE) == EXTI_LINE41) || ((LINE) == EXTI_LINE48) || \ 671 ((LINE) == EXTI_LINE49) || ((LINE) == EXTI_LINE50) || \ 672 ((LINE) == EXTI_LINE51) || ((LINE) == EXTI_LINE88)) 673 #endif /*DUAL_CORE*/ 674 675 676 #define BDMA_CH6_CLEAR ((uint32_t)0x00000000) /*!< BDMA ch6 event selected as D3 domain pendclear source*/ 677 #define BDMA_CH7_CLEAR ((uint32_t)0x00000001) /*!< BDMA ch7 event selected as D3 domain pendclear source*/ 678 #if defined (LPTIM4) 679 #define LPTIM4_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM4 out selected as D3 domain pendclear source*/ 680 #else 681 #define LPTIM2_OUT_CLEAR ((uint32_t)0x00000002) /*!< LPTIM2 out selected as D3 domain pendclear source*/ 682 #endif /* LPTIM4 */ 683 #if defined (LPTIM5) 684 #define LPTIM5_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM5 out selected as D3 domain pendclear source*/ 685 #else 686 #define LPTIM3_OUT_CLEAR ((uint32_t)0x00000003) /*!< LPTIM3 out selected as D3 domain pendclear source*/ 687 #endif /* LPTIM5 */ 688 #if defined (LPTIM4) && defined (LPTIM5) 689 #define IS_EXTI_D3_CLEAR(SOURCE) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \ 690 ((SOURCE) == LPTIM4_OUT_CLEAR) || ((SOURCE) == LPTIM5_OUT_CLEAR)) 691 #else 692 #define IS_EXTI_D3_CLEAR(SOURCE) (((SOURCE) == BDMA_CH6_CLEAR) || ((SOURCE) == BDMA_CH7_CLEAR) || \ 693 ((SOURCE) == LPTIM2_OUT_CLEAR) || ((SOURCE) == LPTIM3_OUT_CLEAR)) 694 #endif /* LPTIM4 LPTIM5 */ 695 /** 696 * @} 697 */ 698 699 700 /** @defgroup FMC_SwapBankMapping_Config SwapBankMapping Config 701 * @{ 702 */ 703 #define FMC_SWAPBMAP_DISABLE (0x00000000U) 704 #define FMC_SWAPBMAP_SDRAM_SRAM FMC_BCR1_BMAP_0 705 #define FMC_SWAPBMAP_SDRAMB2 FMC_BCR1_BMAP_1 706 707 #define IS_FMC_SWAPBMAP_MODE(__MODE__) (((__MODE__) == FMC_SWAPBMAP_DISABLE) || \ 708 ((__MODE__) == FMC_SWAPBMAP_SDRAM_SRAM) || \ 709 ((__MODE__) == FMC_SWAPBMAP_SDRAMB2)) 710 /** 711 * @} 712 */ 713 /** 714 * @} 715 */ 716 717 /* Exported macro ------------------------------------------------------------*/ 718 /** @defgroup HAL_Exported_Macros HAL Exported Macros 719 * @{ 720 */ 721 #if defined(DUAL_CORE) 722 /** @defgroup ART_Exported_Macros ART Exported Macros 723 * @{ 724 */ 725 726 /** @brief ART Enable Macro. 727 * Enable the Cortex-M4 ART cache. 728 */ 729 #define __HAL_ART_ENABLE() SET_BIT(ART->CTR, ART_CTR_EN) 730 731 /** @brief ART Disable Macro. 732 * Disable the Cortex-M4 ART cache. 733 */ 734 #define __HAL_ART_DISABLE() CLEAR_BIT(ART->CTR, ART_CTR_EN) 735 736 /** @brief ART Cache BaseAddress Config. 737 * Configure the Cortex-M4 ART cache Base Address. 738 */ 739 #define __HAL_ART_CONFIG_BASE_ADDRESS(__BASE_ADDRESS__) MODIFY_REG(ART->CTR, ART_CTR_PCACHEADDR, (((__BASE_ADDRESS__) >> 12U) & 0x000FFF00UL)) 740 741 /** 742 * @} 743 */ 744 #endif /* DUAL_CORE */ 745 746 /** @defgroup SYSCFG_Exported_Macros SYSCFG Exported Macros 747 * @{ 748 */ 749 750 /** @brief SYSCFG Break AXIRAM double ECC lock. 751 * Enable and lock the connection of AXIRAM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 752 * @note The selected configuration is locked and can be unlocked only by system reset. 753 This feature is available on STM32H7 rev.B and above. 754 */ 755 #define __HAL_SYSCFG_BREAK_AXISRAM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_AXISRAML) 756 757 /** @brief SYSCFG Break ITCM double ECC lock. 758 * Enable and lock the connection of ITCM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 759 * @note The selected configuration is locked and can be unlocked only by system reset. 760 This feature is available on STM32H7 rev.B and above. 761 */ 762 #define __HAL_SYSCFG_BREAK_ITCM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_ITCML) 763 764 /** @brief SYSCFG Break DTCM double ECC lock. 765 * Enable and lock the connection of DTCM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 766 * @note The selected configuration is locked and can be unlocked only by system reset. 767 This feature is available on STM32H7 rev.B and above. 768 */ 769 #define __HAL_SYSCFG_BREAK_DTCM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_DTCML) 770 771 /** @brief SYSCFG Break SRAM1 double ECC lock. 772 * Enable and lock the connection of SRAM1 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 773 * @note The selected configuration is locked and can be unlocked only by system reset. 774 This feature is available on STM32H7 rev.B and above. 775 */ 776 #define __HAL_SYSCFG_BREAK_SRAM1_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM1L) 777 778 /** @brief SYSCFG Break SRAM2 double ECC lock. 779 * Enable and lock the connection of SRAM2 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 780 * @note The selected configuration is locked and can be unlocked only by system reset. 781 This feature is available on STM32H7 rev.B and above. 782 */ 783 #define __HAL_SYSCFG_BREAK_SRAM2_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM2L) 784 785 /** @brief SYSCFG Break SRAM3 double ECC lock. 786 * Enable and lock the connection of SRAM3 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 787 * @note The selected configuration is locked and can be unlocked only by system reset. 788 This feature is available on STM32H7 rev.B and above. 789 */ 790 #define __HAL_SYSCFG_BREAK_SRAM3_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM3L) 791 792 /** @brief SYSCFG Break SRAM4 double ECC lock. 793 * Enable and lock the connection of SRAM4 double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 794 * @note The selected configuration is locked and can be unlocked only by system reset. 795 This feature is available on STM32H7 rev.B and above. 796 */ 797 #define __HAL_SYSCFG_BREAK_SRAM4_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_SRAM4L) 798 799 /** @brief SYSCFG Break Backup SRAM double ECC lock. 800 * Enable and lock the connection of Backup SRAM double ECC error to TIM1/8/15/16/17 and HRTIMER Break input. 801 * @note The selected configuration is locked and can be unlocked only by system reset. 802 This feature is available on STM32H7 rev.B and above. 803 */ 804 #define __HAL_SYSCFG_BREAK_BKRAM_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_BKRAML) 805 806 /** @brief SYSCFG Break Cortex-M7 Lockup lock. 807 * Enable and lock the connection of Cortex-M7 LOCKUP output to TIM1/8/15/16/17 and HRTIMER Break input. 808 * @note The selected configuration is locked and can be unlocked only by system reset. 809 This feature is available on STM32H7 rev.B and above. 810 */ 811 #define __HAL_SYSCFG_BREAK_CM7_LOCKUP_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_CM7L) 812 813 /** @brief SYSCFG Break FLASH double ECC lock. 814 * Enable and lock the connection of Flash double ECC error connection to TIM1/8/15/16/17 and HRTIMER Break input. 815 * @note The selected configuration is locked and can be unlocked only by system reset. 816 This feature is available on STM32H7 rev.B and above. 817 */ 818 #define __HAL_SYSCFG_BREAK_FLASH_DBL_ECC_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_FLASHL) 819 820 /** @brief SYSCFG Break PVD lock. 821 * 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. 822 * @note The selected configuration is locked and can be unlocked only by system reset. 823 This feature is available on STM32H7 rev.B and above. 824 */ 825 #define __HAL_SYSCFG_BREAK_PVD_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_PVDL) 826 827 #if defined(DUAL_CORE) 828 /** @brief SYSCFG Break Cortex-M4 Lockup lock. 829 * Enable and lock the connection of Cortex-M4 LOCKUP output to TIM1/8/15/16/17 and HRTIMER Break input. 830 * @note The selected configuration is locked and can be unlocked only by system reset. 831 This feature is available on STM32H7 rev.B and above. 832 */ 833 #define __HAL_SYSCFG_BREAK_CM4_LOCKUP_LOCK() SET_BIT(SYSCFG->CFGR, SYSCFG_CFGR_CM4L) 834 #endif /* DUAL_CORE */ 835 836 #if !defined(SYSCFG_PMCR_BOOSTEN) 837 /** @brief Fast-mode Plus driving capability enable/disable macros 838 * @param __FASTMODEPLUS__ This parameter can be a value of : 839 * @arg @ref SYSCFG_FASTMODEPLUS_PB6 Fast-mode Plus driving capability activation on PB6 840 * @arg @ref SYSCFG_FASTMODEPLUS_PB7 Fast-mode Plus driving capability activation on PB7 841 * @arg @ref SYSCFG_FASTMODEPLUS_PB8 Fast-mode Plus driving capability activation on PB8 842 * @arg @ref SYSCFG_FASTMODEPLUS_PB9 Fast-mode Plus driving capability activation on PB9 843 */ 844 #define __HAL_SYSCFG_FASTMODEPLUS_ENABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\ 845 SET_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\ 846 }while(0) 847 848 #define __HAL_SYSCFG_FASTMODEPLUS_DISABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__)));\ 849 CLEAR_BIT(SYSCFG->PMCR, (__FASTMODEPLUS__));\ 850 }while(0) 851 852 #endif /* !SYSCFG_PMCR_BOOSTEN */ 853 /** 854 * @} 855 */ 856 857 /** @defgroup DBG_Exported_Macros DBG Exported Macros 858 * @{ 859 */ 860 861 /** @brief Freeze/Unfreeze Peripherals in Debug mode 862 */ 863 #define __HAL_DBGMCU_FREEZE_WWDG1() (DBGMCU->APB3FZ1 |= (DBGMCU_APB3FZ1_DBG_WWDG1)) 864 865 #define __HAL_DBGMCU_FREEZE_TIM2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM2)) 866 #define __HAL_DBGMCU_FREEZE_TIM3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM3)) 867 #define __HAL_DBGMCU_FREEZE_TIM4() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM4)) 868 #define __HAL_DBGMCU_FREEZE_TIM5() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM5)) 869 #define __HAL_DBGMCU_FREEZE_TIM6() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM6)) 870 #define __HAL_DBGMCU_FREEZE_TIM7() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM7)) 871 #define __HAL_DBGMCU_FREEZE_TIM12() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM12)) 872 #define __HAL_DBGMCU_FREEZE_TIM13() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM13)) 873 #define __HAL_DBGMCU_FREEZE_TIM14() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_TIM14)) 874 #define __HAL_DBGMCU_FREEZE_LPTIM1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_LPTIM1)) 875 #define __HAL_DBGMCU_FREEZE_I2C1() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C1)) 876 #define __HAL_DBGMCU_FREEZE_I2C2() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C2)) 877 #define __HAL_DBGMCU_FREEZE_I2C3() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C3)) 878 #if defined(I2C5) 879 #define __HAL_DBGMCU_FREEZE_I2C5() (DBGMCU->APB1LFZ1 |= (DBGMCU_APB1LFZ1_DBG_I2C5)) 880 #endif /*I2C5*/ 881 #if defined(DBGMCU_APB1HFZ1_DBG_FDCAN) 882 #define __HAL_DBGMCU_FREEZE_FDCAN() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_FDCAN)) 883 #endif /*DBGMCU_APB1HFZ1_DBG_FDCAN*/ 884 885 #if defined(TIM23) 886 #define __HAL_DBGMCU_FREEZE_TIM23() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_TIM23)) 887 #endif /*TIM23*/ 888 #if defined(TIM24) 889 #define __HAL_DBGMCU_FREEZE_TIM24() (DBGMCU->APB1HFZ1 |= (DBGMCU_APB1HFZ1_DBG_TIM24)) 890 #endif /*TIM24*/ 891 892 #define __HAL_DBGMCU_FREEZE_TIM1() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM1)) 893 #define __HAL_DBGMCU_FREEZE_TIM8() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM8)) 894 #define __HAL_DBGMCU_FREEZE_TIM15() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM15)) 895 #define __HAL_DBGMCU_FREEZE_TIM16() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM16)) 896 #define __HAL_DBGMCU_FREEZE_TIM17() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_TIM17)) 897 #define __HAL_DBGMCU_FREEZE_HRTIM() (DBGMCU->APB2FZ1 |= (DBGMCU_APB2FZ1_DBG_HRTIM)) 898 899 #define __HAL_DBGMCU_FREEZE_I2C4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_I2C4)) 900 #define __HAL_DBGMCU_FREEZE_LPTIM2() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM2)) 901 #define __HAL_DBGMCU_FREEZE_LPTIM3() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM3)) 902 #define __HAL_DBGMCU_FREEZE_LPTIM4() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM4)) 903 #define __HAL_DBGMCU_FREEZE_LPTIM5() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_LPTIM5)) 904 #define __HAL_DBGMCU_FREEZE_RTC() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_RTC)) 905 #define __HAL_DBGMCU_FREEZE_IWDG1() (DBGMCU->APB4FZ1 |= (DBGMCU_APB4FZ1_DBG_IWDG1)) 906 907 908 #define __HAL_DBGMCU_UnFreeze_WWDG1() (DBGMCU->APB3FZ1 &= ~ (DBGMCU_APB3FZ1_DBG_WWDG1)) 909 910 #define __HAL_DBGMCU_UnFreeze_TIM2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM2)) 911 #define __HAL_DBGMCU_UnFreeze_TIM3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM3)) 912 #define __HAL_DBGMCU_UnFreeze_TIM4() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM4)) 913 #define __HAL_DBGMCU_UnFreeze_TIM5() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM5)) 914 #define __HAL_DBGMCU_UnFreeze_TIM6() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM6)) 915 #define __HAL_DBGMCU_UnFreeze_TIM7() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM7)) 916 #define __HAL_DBGMCU_UnFreeze_TIM12() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM12)) 917 #define __HAL_DBGMCU_UnFreeze_TIM13() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM13)) 918 #define __HAL_DBGMCU_UnFreeze_TIM14() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_TIM14)) 919 #define __HAL_DBGMCU_UnFreeze_LPTIM1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_LPTIM1)) 920 #define __HAL_DBGMCU_UnFreeze_I2C1() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C1)) 921 #define __HAL_DBGMCU_UnFreeze_I2C2() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C2)) 922 #define __HAL_DBGMCU_UnFreeze_I2C3() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C3)) 923 #if defined(I2C5) 924 #define __HAL_DBGMCU_UnFreeze_I2C5() (DBGMCU->APB1LFZ1 &= ~ (DBGMCU_APB1LFZ1_DBG_I2C5)) 925 #endif /*I2C5*/ 926 #if defined(DBGMCU_APB1HFZ1_DBG_FDCAN) 927 #define __HAL_DBGMCU_UnFreeze_FDCAN() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_FDCAN)) 928 #endif /*DBGMCU_APB1HFZ1_DBG_FDCAN*/ 929 930 #if defined(TIM23) 931 #define __HAL_DBGMCU_UnFreeze_TIM23() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_TIM23)) 932 #endif /*TIM23*/ 933 #if defined(TIM24) 934 #define __HAL_DBGMCU_UnFreeze_TIM24() (DBGMCU->APB1HFZ1 &= ~ (DBGMCU_APB1HFZ1_DBG_TIM24)) 935 #endif /*TIM24*/ 936 937 #define __HAL_DBGMCU_UnFreeze_TIM1() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM1)) 938 #define __HAL_DBGMCU_UnFreeze_TIM8() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM8)) 939 #define __HAL_DBGMCU_UnFreeze_TIM15() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM15)) 940 #define __HAL_DBGMCU_UnFreeze_TIM16() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM16)) 941 #define __HAL_DBGMCU_UnFreeze_TIM17() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_TIM17)) 942 #define __HAL_DBGMCU_UnFreeze_HRTIM() (DBGMCU->APB2FZ1 &= ~ (DBGMCU_APB2FZ1_DBG_HRTIM)) 943 944 #define __HAL_DBGMCU_UnFreeze_I2C4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_I2C4)) 945 #define __HAL_DBGMCU_UnFreeze_LPTIM2() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM2)) 946 #define __HAL_DBGMCU_UnFreeze_LPTIM3() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM3)) 947 #define __HAL_DBGMCU_UnFreeze_LPTIM4() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM4)) 948 #define __HAL_DBGMCU_UnFreeze_LPTIM5() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_LPTIM5)) 949 #define __HAL_DBGMCU_UnFreeze_RTC() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_RTC)) 950 #define __HAL_DBGMCU_UnFreeze_IWDG1() (DBGMCU->APB4FZ1 &= ~ (DBGMCU_APB4FZ1_DBG_IWDG1)) 951 952 953 #if defined(DUAL_CORE) 954 #define __HAL_DBGMCU_FREEZE2_IWDG2() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_IWDG2)) 955 #define __HAL_DBGMCU_FREEZE2_WWDG2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_WWDG2)) 956 957 #define __HAL_DBGMCU_UnFreeze2_IWDG2() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_IWDG2)) 958 #define __HAL_DBGMCU_UnFreeze2_WWDG2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_WWDG2)) 959 960 961 #define __HAL_DBGMCU_FREEZE2_WWDG1() (DBGMCU->APB3FZ2 |= (DBGMCU_APB3FZ2_DBG_WWDG1)) 962 963 #define __HAL_DBGMCU_FREEZE2_TIM2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM2)) 964 #define __HAL_DBGMCU_FREEZE2_TIM3() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM3)) 965 #define __HAL_DBGMCU_FREEZE2_TIM4() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM4)) 966 #define __HAL_DBGMCU_FREEZE2_TIM5() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM5)) 967 #define __HAL_DBGMCU_FREEZE2_TIM6() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM6)) 968 #define __HAL_DBGMCU_FREEZE2_TIM7() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM7)) 969 #define __HAL_DBGMCU_FREEZE2_TIM12() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM12)) 970 #define __HAL_DBGMCU_FREEZE2_TIM13() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM13)) 971 #define __HAL_DBGMCU_FREEZE2_TIM14() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_TIM14)) 972 #define __HAL_DBGMCU_FREEZE2_LPTIM1() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_LPTIM1)) 973 #define __HAL_DBGMCU_FREEZE2_I2C1() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C1)) 974 #define __HAL_DBGMCU_FREEZE2_I2C2() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C2)) 975 #define __HAL_DBGMCU_FREEZE2_I2C3() (DBGMCU->APB1LFZ2 |= (DBGMCU_APB1LFZ2_DBG_I2C3)) 976 #define __HAL_DBGMCU_FREEZE2_FDCAN() (DBGMCU->APB1HFZ2 |= (DBGMCU_APB1HFZ2_DBG_FDCAN)) 977 978 979 #define __HAL_DBGMCU_FREEZE2_TIM1() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM1)) 980 #define __HAL_DBGMCU_FREEZE2_TIM8() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM8)) 981 #define __HAL_DBGMCU_FREEZE2_TIM15() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM15)) 982 #define __HAL_DBGMCU_FREEZE2_TIM16() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM16)) 983 #define __HAL_DBGMCU_FREEZE2_TIM17() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_TIM17)) 984 #define __HAL_DBGMCU_FREEZE2_HRTIM() (DBGMCU->APB2FZ2 |= (DBGMCU_APB2FZ2_DBG_HRTIM)) 985 986 #define __HAL_DBGMCU_FREEZE2_I2C4() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_I2C4)) 987 #define __HAL_DBGMCU_FREEZE2_LPTIM2() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM2)) 988 #define __HAL_DBGMCU_FREEZE2_LPTIM3() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM3)) 989 #define __HAL_DBGMCU_FREEZE2_LPTIM4() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM4)) 990 #define __HAL_DBGMCU_FREEZE2_LPTIM5() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_LPTIM5)) 991 #define __HAL_DBGMCU_FREEZE2_RTC() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_RTC)) 992 #define __HAL_DBGMCU_FREEZE2_IWDG1() (DBGMCU->APB4FZ2 |= (DBGMCU_APB4FZ2_DBG_IWDG1)) 993 994 #define __HAL_DBGMCU_UnFreeze2_WWDG1() (DBGMCU->APB3FZ2 &= ~ (DBGMCU_APB3FZ2_DBG_WWDG1)) 995 996 #define __HAL_DBGMCU_UnFreeze2_TIM2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM2)) 997 #define __HAL_DBGMCU_UnFreeze2_TIM3() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM3)) 998 #define __HAL_DBGMCU_UnFreeze2_TIM4() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM4)) 999 #define __HAL_DBGMCU_UnFreeze2_TIM5() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM5)) 1000 #define __HAL_DBGMCU_UnFreeze2_TIM6() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM6)) 1001 #define __HAL_DBGMCU_UnFreeze2_TIM7() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM7)) 1002 #define __HAL_DBGMCU_UnFreeze2_TIM12() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM12)) 1003 #define __HAL_DBGMCU_UnFreeze2_TIM13() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM13)) 1004 #define __HAL_DBGMCU_UnFreeze2_TIM14() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_TIM14)) 1005 #define __HAL_DBGMCU_UnFreeze2_LPTIM1() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_LPTIM1)) 1006 #define __HAL_DBGMCU_UnFreeze2_I2C1() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C1)) 1007 #define __HAL_DBGMCU_UnFreeze2_I2C2() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C2)) 1008 #define __HAL_DBGMCU_UnFreeze2_I2C3() (DBGMCU->APB1LFZ2 &= ~ (DBGMCU_APB1LFZ2_DBG_I2C3)) 1009 #define __HAL_DBGMCU_UnFreeze2_FDCAN() (DBGMCU->APB1HFZ2 &= ~ (DBGMCU_APB1HFZ2_DBG_FDCAN)) 1010 1011 1012 #define __HAL_DBGMCU_UnFreeze2_TIM1() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM1)) 1013 #define __HAL_DBGMCU_UnFreeze2_TIM8() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM8)) 1014 #define __HAL_DBGMCU_UnFreeze2_TIM15() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM15)) 1015 #define __HAL_DBGMCU_UnFreeze2_TIM16() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM16)) 1016 #define __HAL_DBGMCU_UnFreeze2_TIM17() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_TIM17)) 1017 #define __HAL_DBGMCU_UnFreeze2_HRTIM() (DBGMCU->APB2FZ2 &= ~ (DBGMCU_APB2FZ2_DBG_HRTIM)) 1018 1019 #define __HAL_DBGMCU_UnFreeze2_I2C4() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_I2C4)) 1020 #define __HAL_DBGMCU_UnFreeze2_LPTIM2() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM2)) 1021 #define __HAL_DBGMCU_UnFreeze2_LPTIM3() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM3)) 1022 #define __HAL_DBGMCU_UnFreeze2_LPTIM4() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM4)) 1023 #define __HAL_DBGMCU_UnFreeze2_LPTIM5() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_LPTIM5)) 1024 #define __HAL_DBGMCU_UnFreeze2_RTC() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_RTC)) 1025 #define __HAL_DBGMCU_UnFreeze2_IWDG1() (DBGMCU->APB4FZ2 &= ~ (DBGMCU_APB4FZ2_DBG_IWDG1)) 1026 1027 #endif /*DUAL_CORE*/ 1028 /** 1029 * @} 1030 */ 1031 /** 1032 * @} 1033 */ 1034 1035 /** @defgroup HAL_Private_Macros HAL Private Macros 1036 * @{ 1037 */ 1038 #define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || \ 1039 ((FREQ) == HAL_TICK_FREQ_100HZ) || \ 1040 ((FREQ) == HAL_TICK_FREQ_1KHZ)) 1041 /** 1042 * @} 1043 */ 1044 1045 /* Exported variables --------------------------------------------------------*/ 1046 1047 /** @addtogroup HAL_Exported_Variables 1048 * @{ 1049 */ 1050 extern __IO uint32_t uwTick; 1051 extern uint32_t uwTickPrio; 1052 extern HAL_TickFreqTypeDef uwTickFreq; 1053 /** 1054 * @} 1055 */ 1056 1057 /* Exported functions --------------------------------------------------------*/ 1058 /** @defgroup HAL_Exported_Functions HAL Exported Functions 1059 * @{ 1060 */ 1061 /* Initialization and de-initialization functions ******************************/ 1062 /** @defgroup HAL_Group1 Initialization and de-initialization Functions 1063 * @{ 1064 */ 1065 HAL_StatusTypeDef HAL_Init(void); 1066 HAL_StatusTypeDef HAL_DeInit(void); 1067 void HAL_MspInit(void); 1068 void HAL_MspDeInit(void); 1069 HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority); 1070 1071 /** 1072 * @} 1073 */ 1074 1075 /* Peripheral Control functions ************************************************/ 1076 /** @defgroup HAL_Group2 HAL Control functions 1077 * 1078 */ 1079 void HAL_IncTick(void); 1080 void HAL_Delay(uint32_t Delay); 1081 uint32_t HAL_GetTick(void); 1082 uint32_t HAL_GetTickPrio(void); 1083 HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); 1084 HAL_TickFreqTypeDef HAL_GetTickFreq(void); 1085 void HAL_SuspendTick(void); 1086 void HAL_ResumeTick(void); 1087 uint32_t HAL_GetHalVersion(void); 1088 uint32_t HAL_GetREVID(void); 1089 uint32_t HAL_GetDEVID(void); 1090 uint32_t HAL_GetUIDw0(void); 1091 uint32_t HAL_GetUIDw1(void); 1092 uint32_t HAL_GetUIDw2(void); 1093 #if defined(SYSCFG_PMCR_EPIS_SEL) 1094 void HAL_SYSCFG_ETHInterfaceSelect(uint32_t SYSCFG_ETHInterface); 1095 #endif /* SYSCFG_PMCR_EPIS_SEL */ 1096 void HAL_SYSCFG_AnalogSwitchConfig(uint32_t SYSCFG_AnalogSwitch , uint32_t SYSCFG_SwitchState ); 1097 #if defined(SYSCFG_PMCR_BOOSTEN) 1098 void HAL_SYSCFG_EnableBOOST(void); 1099 void HAL_SYSCFG_DisableBOOST(void); 1100 #endif /* SYSCFG_PMCR_BOOSTEN */ 1101 1102 #if defined (SYSCFG_UR2_BOOT_ADD0) || defined (SYSCFG_UR2_BCM7_ADD0) 1103 void HAL_SYSCFG_CM7BootAddConfig(uint32_t BootRegister, uint32_t BootAddress); 1104 #endif /* SYSCFG_UR2_BOOT_ADD0 || SYSCFG_UR2_BCM7_ADD0*/ 1105 1106 #if defined(DUAL_CORE) 1107 void HAL_SYSCFG_CM4BootAddConfig(uint32_t BootRegister, uint32_t BootAddress); 1108 void HAL_SYSCFG_EnableCM7BOOT(void); 1109 void HAL_SYSCFG_DisableCM7BOOT(void); 1110 void HAL_SYSCFG_EnableCM4BOOT(void); 1111 void HAL_SYSCFG_DisableCM4BOOT(void); 1112 #endif /*DUAL_CORE*/ 1113 void HAL_EnableCompensationCell(void); 1114 void HAL_DisableCompensationCell(void); 1115 void HAL_SYSCFG_EnableIOSpeedOptimize(void); 1116 void HAL_SYSCFG_DisableIOSpeedOptimize(void); 1117 void HAL_SYSCFG_CompensationCodeSelect(uint32_t SYSCFG_CompCode); 1118 void HAL_SYSCFG_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode); 1119 #if defined(SYSCFG_CCCR_NCC_MMC) 1120 void HAL_SYSCFG_VDDMMC_CompensationCodeConfig(uint32_t SYSCFG_PMOSCode, uint32_t SYSCFG_NMOSCode); 1121 #endif /* SYSCFG_CCCR_NCC_MMC */ 1122 void HAL_DBGMCU_EnableDBGSleepMode(void); 1123 void HAL_DBGMCU_DisableDBGSleepMode(void); 1124 void HAL_DBGMCU_EnableDBGStopMode(void); 1125 void HAL_DBGMCU_DisableDBGStopMode(void); 1126 void HAL_DBGMCU_EnableDBGStandbyMode(void); 1127 void HAL_DBGMCU_DisableDBGStandbyMode(void); 1128 #if defined(DUAL_CORE) 1129 void HAL_EnableDomain2DBGSleepMode(void); 1130 void HAL_DisableDomain2DBGSleepMode(void); 1131 void HAL_EnableDomain2DBGStopMode(void); 1132 void HAL_DisableDomain2DBGStopMode(void); 1133 void HAL_EnableDomain2DBGStandbyMode(void); 1134 void HAL_DisableDomain2DBGStandbyMode(void); 1135 #endif /*DUAL_CORE*/ 1136 #if defined(DBGMCU_CR_DBG_STOPD3) 1137 void HAL_EnableDomain3DBGStopMode(void); 1138 void HAL_DisableDomain3DBGStopMode(void); 1139 #endif /*DBGMCU_CR_DBG_STOPD3*/ 1140 #if defined(DBGMCU_CR_DBG_STANDBYD3) 1141 void HAL_EnableDomain3DBGStandbyMode(void); 1142 void HAL_DisableDomain3DBGStandbyMode(void); 1143 #endif /*DBGMCU_CR_DBG_STANDBYD3*/ 1144 void HAL_EXTI_EdgeConfig(uint32_t EXTI_Line , uint32_t EXTI_Edge ); 1145 void HAL_EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); 1146 #if defined(DUAL_CORE) 1147 void HAL_EXTI_D2_ClearFlag(uint32_t EXTI_Line); 1148 #endif /*DUAL_CORE*/ 1149 void HAL_EXTI_D1_ClearFlag(uint32_t EXTI_Line); 1150 void HAL_EXTI_D1_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd); 1151 #if defined(DUAL_CORE) 1152 void HAL_EXTI_D2_EventInputConfig(uint32_t EXTI_Line , uint32_t EXTI_Mode, uint32_t EXTI_LineCmd); 1153 #endif /*DUAL_CORE*/ 1154 void HAL_EXTI_D3_EventInputConfig(uint32_t EXTI_Line, uint32_t EXTI_LineCmd , uint32_t EXTI_ClearSrc); 1155 void HAL_SetFMCMemorySwappingConfig(uint32_t BankMapConfig); 1156 uint32_t HAL_GetFMCMemorySwappingConfig(void); 1157 void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling); 1158 void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode); 1159 void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue); 1160 HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void); 1161 void HAL_SYSCFG_DisableVREFBUF(void); 1162 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT0) 1163 void HAL_SYSCFG_ADC2ALT_Rout0Config(uint32_t Adc2AltRout0); 1164 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT0*/ 1165 #if defined(SYSCFG_ADC2ALT_ADC2_ROUT1) 1166 void HAL_SYSCFG_ADC2ALT_Rout1Config(uint32_t Adc2AltRout1); 1167 #endif /*SYSCFG_ADC2ALT_ADC2_ROUT1*/ 1168 1169 /** 1170 * @} 1171 */ 1172 1173 /** 1174 * @} 1175 */ 1176 1177 /** 1178 * @} 1179 */ 1180 1181 /** 1182 * @} 1183 */ 1184 1185 #ifdef __cplusplus 1186 } 1187 #endif 1188 1189 #endif /* STM32H7xx_HAL_H */ 1190 1191