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