STM32L443xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_hal_conf.h 00004 * @author MCD Application Team 00005 * @brief HAL configuration template file. 00006 * This file should be copied to the application folder and renamed 00007 * to stm32l4xx_hal_conf.h. 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * Copyright (c) 2017 STMicroelectronics. 00012 * All rights reserved. 00013 * 00014 * This software is licensed under terms that can be found in the LICENSE file 00015 * in the root directory of this software component. 00016 * If no LICENSE file comes with this software, it is provided AS-IS. 00017 * 00018 ****************************************************************************** 00019 */ 00020 00021 /* Define to prevent recursive inclusion -------------------------------------*/ 00022 #ifndef STM32L4xx_HAL_CONF_H 00023 #define STM32L4xx_HAL_CONF_H 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 /* Exported types ------------------------------------------------------------*/ 00030 /* Exported constants --------------------------------------------------------*/ 00031 00032 /* ########################## Module Selection ############################## */ 00033 /** 00034 * @brief This is the list of modules to be used in the HAL driver 00035 */ 00036 #define HAL_MODULE_ENABLED 00037 #define HAL_ADC_MODULE_ENABLED 00038 #define HAL_CAN_MODULE_ENABLED 00039 /* #define HAL_CAN_LEGACY_MODULE_ENABLED */ 00040 #define HAL_COMP_MODULE_ENABLED 00041 #define HAL_CORTEX_MODULE_ENABLED 00042 #define HAL_CRC_MODULE_ENABLED 00043 #define HAL_CRYP_MODULE_ENABLED 00044 #define HAL_DAC_MODULE_ENABLED 00045 #define HAL_DCMI_MODULE_ENABLED 00046 #define HAL_DFSDM_MODULE_ENABLED 00047 #define HAL_DMA_MODULE_ENABLED 00048 #define HAL_DMA2D_MODULE_ENABLED 00049 #define HAL_DSI_MODULE_ENABLED 00050 #define HAL_EXTI_MODULE_ENABLED 00051 #define HAL_FIREWALL_MODULE_ENABLED 00052 #define HAL_FLASH_MODULE_ENABLED 00053 #define HAL_GFXMMU_MODULE_ENABLED 00054 #define HAL_GPIO_MODULE_ENABLED 00055 #define HAL_HASH_MODULE_ENABLED 00056 #define HAL_HCD_MODULE_ENABLED 00057 #define HAL_I2C_MODULE_ENABLED 00058 #define HAL_IRDA_MODULE_ENABLED 00059 #define HAL_IWDG_MODULE_ENABLED 00060 #define HAL_LCD_MODULE_ENABLED 00061 #define HAL_LPTIM_MODULE_ENABLED 00062 #define HAL_LTDC_MODULE_ENABLED 00063 #define HAL_MMC_MODULE_ENABLED 00064 #define HAL_NAND_MODULE_ENABLED 00065 #define HAL_NOR_MODULE_ENABLED 00066 #define HAL_OPAMP_MODULE_ENABLED 00067 #define HAL_OSPI_MODULE_ENABLED 00068 #define HAL_PCD_MODULE_ENABLED 00069 #define HAL_PKA_MODULE_ENABLED 00070 #define HAL_PSSI_MODULE_ENABLED 00071 #define HAL_PWR_MODULE_ENABLED 00072 #define HAL_QSPI_MODULE_ENABLED 00073 #define HAL_RCC_MODULE_ENABLED 00074 #define HAL_RNG_MODULE_ENABLED 00075 #define HAL_RTC_MODULE_ENABLED 00076 #define HAL_SAI_MODULE_ENABLED 00077 #define HAL_SD_MODULE_ENABLED 00078 #define HAL_SMARTCARD_MODULE_ENABLED 00079 #define HAL_SMBUS_MODULE_ENABLED 00080 #define HAL_SPI_MODULE_ENABLED 00081 #define HAL_SRAM_MODULE_ENABLED 00082 #define HAL_SWPMI_MODULE_ENABLED 00083 #define HAL_TIM_MODULE_ENABLED 00084 #define HAL_TSC_MODULE_ENABLED 00085 #define HAL_UART_MODULE_ENABLED 00086 #define HAL_USART_MODULE_ENABLED 00087 #define HAL_WWDG_MODULE_ENABLED 00088 00089 00090 /* ########################## Oscillator Values adaptation ####################*/ 00091 /** 00092 * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. 00093 * This value is used by the RCC HAL module to compute the system frequency 00094 * (when HSE is used as system clock source, directly or through the PLL). 00095 */ 00096 #if !defined (HSE_VALUE) 00097 #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */ 00098 #endif /* HSE_VALUE */ 00099 00100 #if !defined (HSE_STARTUP_TIMEOUT) 00101 #define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */ 00102 #endif /* HSE_STARTUP_TIMEOUT */ 00103 00104 /** 00105 * @brief Internal Multiple Speed oscillator (MSI) default value. 00106 * This value is the default MSI range value after Reset. 00107 */ 00108 #if !defined (MSI_VALUE) 00109 #define MSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/ 00110 #endif /* MSI_VALUE */ 00111 00112 /** 00113 * @brief Internal High Speed oscillator (HSI) value. 00114 * This value is used by the RCC HAL module to compute the system frequency 00115 * (when HSI is used as system clock source, directly or through the PLL). 00116 */ 00117 #if !defined (HSI_VALUE) 00118 #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/ 00119 #endif /* HSI_VALUE */ 00120 00121 /** 00122 * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG. 00123 * This internal oscillator is mainly dedicated to provide a high precision clock to 00124 * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry. 00125 * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency 00126 * which is subject to manufacturing process variations. 00127 */ 00128 #if !defined (HSI48_VALUE) 00129 #define HSI48_VALUE 48000000U /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz. 00130 The real value my vary depending on manufacturing process variations.*/ 00131 #endif /* HSI48_VALUE */ 00132 00133 /** 00134 * @brief Internal Low Speed oscillator (LSI) value. 00135 */ 00136 #if !defined (LSI_VALUE) 00137 #define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/ 00138 #endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz 00139 The real value may vary depending on the variations 00140 in voltage and temperature.*/ 00141 /** 00142 * @brief External Low Speed oscillator (LSE) value. 00143 * This value is used by the UART, RTC HAL module to compute the system frequency 00144 */ 00145 #if !defined (LSE_VALUE) 00146 #define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/ 00147 #endif /* LSE_VALUE */ 00148 00149 #if !defined (LSE_STARTUP_TIMEOUT) 00150 #define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */ 00151 #endif /* HSE_STARTUP_TIMEOUT */ 00152 00153 /** 00154 * @brief External clock source for SAI1 peripheral 00155 * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source 00156 * frequency. 00157 */ 00158 #if !defined (EXTERNAL_SAI1_CLOCK_VALUE) 00159 #define EXTERNAL_SAI1_CLOCK_VALUE 48000U /*!< Value of the SAI1 External clock source in Hz*/ 00160 #endif /* EXTERNAL_SAI1_CLOCK_VALUE */ 00161 00162 /** 00163 * @brief External clock source for SAI2 peripheral 00164 * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source 00165 * frequency. 00166 */ 00167 #if !defined (EXTERNAL_SAI2_CLOCK_VALUE) 00168 #define EXTERNAL_SAI2_CLOCK_VALUE 48000U /*!< Value of the SAI2 External clock source in Hz*/ 00169 #endif /* EXTERNAL_SAI2_CLOCK_VALUE */ 00170 00171 /* Tip: To avoid modifying this file each time you need to use different HSE, 00172 === you can define the HSE value in your toolchain compiler preprocessor. */ 00173 00174 /* ########################### System Configuration ######################### */ 00175 /** 00176 * @brief This is the HAL system configuration section 00177 */ 00178 #define VDD_VALUE 3300U /*!< Value of VDD in mv */ 00179 #define TICK_INT_PRIORITY 0x0FU /*!< tick interrupt priority */ 00180 #define USE_RTOS 0U 00181 #define PREFETCH_ENABLE 0U 00182 #define INSTRUCTION_CACHE_ENABLE 1U 00183 #define DATA_CACHE_ENABLE 1U 00184 00185 /* ########################## Assert Selection ############################## */ 00186 /** 00187 * @brief Uncomment the line below to expanse the "assert_param" macro in the 00188 * HAL drivers code 00189 */ 00190 /* #define USE_FULL_ASSERT 1U */ 00191 00192 /* ################## Register callback feature configuration ############### */ 00193 /** 00194 * @brief Set below the peripheral configuration to "1U" to add the support 00195 * of HAL callback registration/deregistration feature for the HAL 00196 * driver(s). This allows user application to provide specific callback 00197 * functions thanks to HAL_PPP_RegisterCallback() rather than overwriting 00198 * the default weak callback functions (see each stm32l4xx_hal_ppp.h file 00199 * for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef 00200 * for each PPP peripheral). 00201 */ 00202 #define USE_HAL_ADC_REGISTER_CALLBACKS 1U 00203 #define USE_HAL_CAN_REGISTER_CALLBACKS 1U 00204 #define USE_HAL_COMP_REGISTER_CALLBACKS 1U 00205 #define USE_HAL_CRYP_REGISTER_CALLBACKS 1U 00206 #define USE_HAL_DAC_REGISTER_CALLBACKS 1U 00207 #define USE_HAL_DCMI_REGISTER_CALLBACKS 1U 00208 #define USE_HAL_DFSDM_REGISTER_CALLBACKS 1U 00209 #define USE_HAL_DMA2D_REGISTER_CALLBACKS 1U 00210 #define USE_HAL_DSI_REGISTER_CALLBACKS 1U 00211 #define USE_HAL_GFXMMU_REGISTER_CALLBACKS 1U 00212 #define USE_HAL_HASH_REGISTER_CALLBACKS 1U 00213 #define USE_HAL_HCD_REGISTER_CALLBACKS 1U 00214 #define USE_HAL_I2C_REGISTER_CALLBACKS 1U 00215 #define USE_HAL_IRDA_REGISTER_CALLBACKS 1U 00216 #define USE_HAL_LPTIM_REGISTER_CALLBACKS 1U 00217 #define USE_HAL_LTDC_REGISTER_CALLBACKS 1U 00218 #define USE_HAL_MMC_REGISTER_CALLBACKS 1U 00219 #define USE_HAL_OPAMP_REGISTER_CALLBACKS 1U 00220 #define USE_HAL_OSPI_REGISTER_CALLBACKS 1U 00221 #define USE_HAL_PCD_REGISTER_CALLBACKS 1U 00222 #define USE_HAL_QSPI_REGISTER_CALLBACKS 1U 00223 #define USE_HAL_RNG_REGISTER_CALLBACKS 1U 00224 #define USE_HAL_RTC_REGISTER_CALLBACKS 1U 00225 #define USE_HAL_SAI_REGISTER_CALLBACKS 1U 00226 #define USE_HAL_SD_REGISTER_CALLBACKS 1U 00227 #define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 1U 00228 #define USE_HAL_SMBUS_REGISTER_CALLBACKS 1U 00229 #define USE_HAL_SPI_REGISTER_CALLBACKS 1U 00230 #define USE_HAL_SWPMI_REGISTER_CALLBACKS 1U 00231 #define USE_HAL_TIM_REGISTER_CALLBACKS 1U 00232 #define USE_HAL_TSC_REGISTER_CALLBACKS 1U 00233 #define USE_HAL_UART_REGISTER_CALLBACKS 1U 00234 #define USE_HAL_USART_REGISTER_CALLBACKS 1U 00235 #define USE_HAL_WWDG_REGISTER_CALLBACKS 1U 00236 00237 /* ################## SPI peripheral configuration ########################## */ 00238 00239 /* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver 00240 * Activated: CRC code is present inside driver 00241 * Deactivated: CRC code cleaned from driver 00242 */ 00243 00244 #define USE_SPI_CRC 1U 00245 00246 /* Includes ------------------------------------------------------------------*/ 00247 /** 00248 * @brief Include module's header file 00249 */ 00250 00251 #ifdef HAL_RCC_MODULE_ENABLED 00252 #include "stm32l4xx_hal_rcc.h" 00253 #endif /* HAL_RCC_MODULE_ENABLED */ 00254 00255 #ifdef HAL_GPIO_MODULE_ENABLED 00256 #include "stm32l4xx_hal_gpio.h" 00257 #endif /* HAL_GPIO_MODULE_ENABLED */ 00258 00259 #ifdef HAL_DMA_MODULE_ENABLED 00260 #include "stm32l4xx_hal_dma.h" 00261 #endif /* HAL_DMA_MODULE_ENABLED */ 00262 00263 #ifdef HAL_DFSDM_MODULE_ENABLED 00264 #include "stm32l4xx_hal_dfsdm.h" 00265 #endif /* HAL_DFSDM_MODULE_ENABLED */ 00266 00267 #ifdef HAL_CORTEX_MODULE_ENABLED 00268 #include "stm32l4xx_hal_cortex.h" 00269 #endif /* HAL_CORTEX_MODULE_ENABLED */ 00270 00271 #ifdef HAL_ADC_MODULE_ENABLED 00272 #include "stm32l4xx_hal_adc.h" 00273 #endif /* HAL_ADC_MODULE_ENABLED */ 00274 00275 #ifdef HAL_CAN_MODULE_ENABLED 00276 #include "stm32l4xx_hal_can.h" 00277 #endif /* HAL_CAN_MODULE_ENABLED */ 00278 00279 #ifdef HAL_CAN_LEGACY_MODULE_ENABLED 00280 #include "Legacy/stm32l4xx_hal_can_legacy.h" 00281 #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ 00282 00283 #ifdef HAL_COMP_MODULE_ENABLED 00284 #include "stm32l4xx_hal_comp.h" 00285 #endif /* HAL_COMP_MODULE_ENABLED */ 00286 00287 #ifdef HAL_CRC_MODULE_ENABLED 00288 #include "stm32l4xx_hal_crc.h" 00289 #endif /* HAL_CRC_MODULE_ENABLED */ 00290 00291 #ifdef HAL_CRYP_MODULE_ENABLED 00292 #include "stm32l4xx_hal_cryp.h" 00293 #endif /* HAL_CRYP_MODULE_ENABLED */ 00294 00295 #ifdef HAL_DAC_MODULE_ENABLED 00296 #include "stm32l4xx_hal_dac.h" 00297 #endif /* HAL_DAC_MODULE_ENABLED */ 00298 00299 #ifdef HAL_DCMI_MODULE_ENABLED 00300 #include "stm32l4xx_hal_dcmi.h" 00301 #endif /* HAL_DCMI_MODULE_ENABLED */ 00302 00303 #ifdef HAL_DMA2D_MODULE_ENABLED 00304 #include "stm32l4xx_hal_dma2d.h" 00305 #endif /* HAL_DMA2D_MODULE_ENABLED */ 00306 00307 #ifdef HAL_DSI_MODULE_ENABLED 00308 #include "stm32l4xx_hal_dsi.h" 00309 #endif /* HAL_DSI_MODULE_ENABLED */ 00310 00311 #ifdef HAL_EXTI_MODULE_ENABLED 00312 #include "stm32l4xx_hal_exti.h" 00313 #endif /* HAL_EXTI_MODULE_ENABLED */ 00314 00315 #ifdef HAL_GFXMMU_MODULE_ENABLED 00316 #include "stm32l4xx_hal_gfxmmu.h" 00317 #endif /* HAL_GFXMMU_MODULE_ENABLED */ 00318 00319 #ifdef HAL_FIREWALL_MODULE_ENABLED 00320 #include "stm32l4xx_hal_firewall.h" 00321 #endif /* HAL_FIREWALL_MODULE_ENABLED */ 00322 00323 #ifdef HAL_FLASH_MODULE_ENABLED 00324 #include "stm32l4xx_hal_flash.h" 00325 #endif /* HAL_FLASH_MODULE_ENABLED */ 00326 00327 #ifdef HAL_HASH_MODULE_ENABLED 00328 #include "stm32l4xx_hal_hash.h" 00329 #endif /* HAL_HASH_MODULE_ENABLED */ 00330 00331 #ifdef HAL_HCD_MODULE_ENABLED 00332 #include "stm32l4xx_hal_hcd.h" 00333 #endif /* HAL_HCD_MODULE_ENABLED */ 00334 00335 #ifdef HAL_I2C_MODULE_ENABLED 00336 #include "stm32l4xx_hal_i2c.h" 00337 #endif /* HAL_I2C_MODULE_ENABLED */ 00338 00339 #ifdef HAL_IRDA_MODULE_ENABLED 00340 #include "stm32l4xx_hal_irda.h" 00341 #endif /* HAL_IRDA_MODULE_ENABLED */ 00342 00343 #ifdef HAL_IWDG_MODULE_ENABLED 00344 #include "stm32l4xx_hal_iwdg.h" 00345 #endif /* HAL_IWDG_MODULE_ENABLED */ 00346 00347 #ifdef HAL_LCD_MODULE_ENABLED 00348 #include "stm32l4xx_hal_lcd.h" 00349 #endif /* HAL_LCD_MODULE_ENABLED */ 00350 00351 #ifdef HAL_LPTIM_MODULE_ENABLED 00352 #include "stm32l4xx_hal_lptim.h" 00353 #endif /* HAL_LPTIM_MODULE_ENABLED */ 00354 00355 #ifdef HAL_LTDC_MODULE_ENABLED 00356 #include "stm32l4xx_hal_ltdc.h" 00357 #endif /* HAL_LTDC_MODULE_ENABLED */ 00358 00359 #ifdef HAL_MMC_MODULE_ENABLED 00360 #include "stm32l4xx_hal_mmc.h" 00361 #endif /* HAL_MMC_MODULE_ENABLED */ 00362 00363 #ifdef HAL_NAND_MODULE_ENABLED 00364 #include "stm32l4xx_hal_nand.h" 00365 #endif /* HAL_NAND_MODULE_ENABLED */ 00366 00367 #ifdef HAL_NOR_MODULE_ENABLED 00368 #include "stm32l4xx_hal_nor.h" 00369 #endif /* HAL_NOR_MODULE_ENABLED */ 00370 00371 #ifdef HAL_OPAMP_MODULE_ENABLED 00372 #include "stm32l4xx_hal_opamp.h" 00373 #endif /* HAL_OPAMP_MODULE_ENABLED */ 00374 00375 #ifdef HAL_OSPI_MODULE_ENABLED 00376 #include "stm32l4xx_hal_ospi.h" 00377 #endif /* HAL_OSPI_MODULE_ENABLED */ 00378 00379 #ifdef HAL_PCD_MODULE_ENABLED 00380 #include "stm32l4xx_hal_pcd.h" 00381 #endif /* HAL_PCD_MODULE_ENABLED */ 00382 00383 #ifdef HAL_PKA_MODULE_ENABLED 00384 #include "stm32l4xx_hal_pka.h" 00385 #endif /* HAL_PKA_MODULE_ENABLED */ 00386 00387 #ifdef HAL_PSSI_MODULE_ENABLED 00388 #include "stm32l4xx_hal_pssi.h" 00389 #endif /* HAL_PSSI_MODULE_ENABLED */ 00390 00391 #ifdef HAL_PWR_MODULE_ENABLED 00392 #include "stm32l4xx_hal_pwr.h" 00393 #endif /* HAL_PWR_MODULE_ENABLED */ 00394 00395 #ifdef HAL_QSPI_MODULE_ENABLED 00396 #include "stm32l4xx_hal_qspi.h" 00397 #endif /* HAL_QSPI_MODULE_ENABLED */ 00398 00399 #ifdef HAL_RNG_MODULE_ENABLED 00400 #include "stm32l4xx_hal_rng.h" 00401 #endif /* HAL_RNG_MODULE_ENABLED */ 00402 00403 #ifdef HAL_RTC_MODULE_ENABLED 00404 #include "stm32l4xx_hal_rtc.h" 00405 #endif /* HAL_RTC_MODULE_ENABLED */ 00406 00407 #ifdef HAL_SAI_MODULE_ENABLED 00408 #include "stm32l4xx_hal_sai.h" 00409 #endif /* HAL_SAI_MODULE_ENABLED */ 00410 00411 #ifdef HAL_SD_MODULE_ENABLED 00412 #include "stm32l4xx_hal_sd.h" 00413 #endif /* HAL_SD_MODULE_ENABLED */ 00414 00415 #ifdef HAL_SMARTCARD_MODULE_ENABLED 00416 #include "stm32l4xx_hal_smartcard.h" 00417 #endif /* HAL_SMARTCARD_MODULE_ENABLED */ 00418 00419 #ifdef HAL_SMBUS_MODULE_ENABLED 00420 #include "stm32l4xx_hal_smbus.h" 00421 #endif /* HAL_SMBUS_MODULE_ENABLED */ 00422 00423 #ifdef HAL_SPI_MODULE_ENABLED 00424 #include "stm32l4xx_hal_spi.h" 00425 #endif /* HAL_SPI_MODULE_ENABLED */ 00426 00427 #ifdef HAL_SRAM_MODULE_ENABLED 00428 #include "stm32l4xx_hal_sram.h" 00429 #endif /* HAL_SRAM_MODULE_ENABLED */ 00430 00431 #ifdef HAL_SWPMI_MODULE_ENABLED 00432 #include "stm32l4xx_hal_swpmi.h" 00433 #endif /* HAL_SWPMI_MODULE_ENABLED */ 00434 00435 #ifdef HAL_TIM_MODULE_ENABLED 00436 #include "stm32l4xx_hal_tim.h" 00437 #endif /* HAL_TIM_MODULE_ENABLED */ 00438 00439 #ifdef HAL_TSC_MODULE_ENABLED 00440 #include "stm32l4xx_hal_tsc.h" 00441 #endif /* HAL_TSC_MODULE_ENABLED */ 00442 00443 #ifdef HAL_UART_MODULE_ENABLED 00444 #include "stm32l4xx_hal_uart.h" 00445 #endif /* HAL_UART_MODULE_ENABLED */ 00446 00447 #ifdef HAL_USART_MODULE_ENABLED 00448 #include "stm32l4xx_hal_usart.h" 00449 #endif /* HAL_USART_MODULE_ENABLED */ 00450 00451 #ifdef HAL_WWDG_MODULE_ENABLED 00452 #include "stm32l4xx_hal_wwdg.h" 00453 #endif /* HAL_WWDG_MODULE_ENABLED */ 00454 00455 /* Exported macro ------------------------------------------------------------*/ 00456 #ifdef USE_FULL_ASSERT 00457 /** 00458 * @brief The assert_param macro is used for function's parameters check. 00459 * @param expr If expr is false, it calls assert_failed function 00460 * which reports the name of the source file and the source 00461 * line number of the call that failed. 00462 * If expr is true, it returns no value. 00463 * @retval None 00464 */ 00465 #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) 00466 /* Exported functions ------------------------------------------------------- */ 00467 void assert_failed(uint8_t *file, uint32_t line); 00468 #else 00469 #define assert_param(expr) ((void)0U) 00470 #endif /* USE_FULL_ASSERT */ 00471 00472 #ifdef __cplusplus 00473 } 00474 #endif 00475 00476 #endif /* STM32L4xx_HAL_CONF_H */