/** ****************************************************************************** * @file stm32f4xx_hal_conf.h * @author MCD Application Team * @brief HAL configuration file. ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... *//* Define to prevent recursive inclusion -------------------------------------*/#ifndef__STM32F4xx_HAL_CONF_H#define__STM32F4xx_HAL_CONF_H#ifdef__cplusplusextern"C"{#endif/* Exported types ------------------------------------------------------------*//* Exported constants --------------------------------------------------------*//* ########################## Module Selection ############################## *//** * @brief This is the list of modules to be used in the HAL driver *//* ... */#defineHAL_MODULE_ENABLED/* #define HAL_ADC_MODULE_ENABLED *//* #define HAL_CAN_MODULE_ENABLED *//* #define HAL_CAN_LEGACY_MODULE_ENABLED *//* #define HAL_CRC_MODULE_ENABLED */#defineHAL_CRYP_MODULE_ENABLED/* #define HAL_DAC_MODULE_ENABLED *//* #define HAL_DCMI_MODULE_ENABLED */#defineHAL_DMA_MODULE_ENABLED/* #define HAL_DMA2D_MODULE_ENABLED *///#define HAL_ETH_MODULE_ENABLED#defineHAL_ETH_LEGACY_MODULE_ENABLED#defineHAL_FLASH_MODULE_ENABLED/* #define HAL_NAND_MODULE_ENABLED *//* #define HAL_NOR_MODULE_ENABLED *//* #define HAL_PCCARD_MODULE_ENABLED */#defineHAL_SRAM_MODULE_ENABLED/* #define HAL_SDRAM_MODULE_ENABLED */#defineHAL_HASH_MODULE_ENABLED#defineHAL_GPIO_MODULE_ENABLED#defineHAL_I2C_MODULE_ENABLED/* #define HAL_I2S_MODULE_ENABLED *//* #define HAL_IWDG_MODULE_ENABLED *//* #define HAL_LTDC_MODULE_ENABLED */#defineHAL_PWR_MODULE_ENABLED#defineHAL_RCC_MODULE_ENABLED#defineHAL_RNG_MODULE_ENABLED/* #define HAL_RTC_MODULE_ENABLED *//* #define HAL_SAI_MODULE_ENABLED *//* #define HAL_SD_MODULE_ENABLED *//* #define HAL_SPI_MODULE_ENABLED */#defineHAL_TIM_MODULE_ENABLED#defineHAL_UART_MODULE_ENABLED/* #define HAL_USART_MODULE_ENABLED *//* #define HAL_IRDA_MODULE_ENABLED *//* #define HAL_SMARTCARD_MODULE_ENABLED *//* #define HAL_WWDG_MODULE_ENABLED */#defineHAL_CORTEX_MODULE_ENABLED15 defines/* #define HAL_PCD_MODULE_ENABLED *//* #define HAL_HCD_MODULE_ENABLED *//* ########################## HSE/HSI Values adaptation ##################### *//** * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. * This value is used by the RCC HAL module to compute the system frequency * (when HSE is used as system clock source, directly or through the PLL). *//* ... */#if!defined(HSE_VALUE)#defineHSE_VALUE(25000000U)/*!< Value of the External oscillator in Hz */#endif/* HSE_VALUE */#if!defined(HSE_STARTUP_TIMEOUT)#defineHSE_STARTUP_TIMEOUT(100U)/*!< Time out for HSE start up, in ms */#endif/* HSE_STARTUP_TIMEOUT *//** * @brief Internal High Speed oscillator (HSI) value. * This value is used by the RCC HAL module to compute the system frequency * (when HSI is used as system clock source, directly or through the PLL). *//* ... */#if!defined(HSI_VALUE)#defineHSI_VALUE(16000000U)/*!< Value of the Internal oscillator in Hz*/#endif/* HSI_VALUE *//** * @brief Internal Low Speed oscillator (LSI) value. *//* ... */#if!defined(LSI_VALUE)#defineLSI_VALUE(32000U)#endif/* LSI_VALUE *//*!< Value of the Internal Low Speed oscillator in Hz The real value may vary depending on the variations in voltage and temperature. *//* ... *//** * @brief External Low Speed oscillator (LSE) value. *//* ... */#if!defined(LSE_VALUE)#defineLSE_VALUE(32768U)/*!< Value of the External Low Speed oscillator in Hz */#endif/* LSE_VALUE */#if!defined(LSE_STARTUP_TIMEOUT)#defineLSE_STARTUP_TIMEOUT(5000U)/*!< Time out for LSE start up, in ms */#endif/* LSE_STARTUP_TIMEOUT *//** * @brief External clock source for I2S peripheral * This value is used by the I2S HAL module to compute the I2S clock source * frequency, this source is inserted directly through I2S_CKIN pad. *//* ... */#if!defined(EXTERNAL_CLOCK_VALUE)#defineEXTERNAL_CLOCK_VALUE(12288000U)/*!< Value of the external oscillator in Hz*/#endif/* EXTERNAL_CLOCK_VALUE *//* Tip: To avoid modifying this file each time you need to use different HSE, === you can define the HSE value in your toolchain compiler preprocessor. *//* ... *//* ########################### System Configuration ######################### *//** * @brief This is the HAL system configuration section *//* ... */#defineVDD_VALUE(3300U)/*!< Value of VDD in mv */#defineTICK_INT_PRIORITY(0x0FU)/*!< tick interrupt priority */#defineUSE_RTOS0#definePREFETCH_ENABLE0/* The prefetch will be enabled in SystemClock_Config(), depending on the used STM32F405/415/07/417 device: RevA (prefetch must be off) or RevZ (prefetch can be on/off) *//* ... */#defineINSTRUCTION_CACHE_ENABLE1#defineDATA_CACHE_ENABLE1U#defineUSE_HAL_ADC_REGISTER_CALLBACKS0U/* ADC register callback disabled */#defineUSE_HAL_CAN_REGISTER_CALLBACKS0U/* CAN register callback disabled */#defineUSE_HAL_CEC_REGISTER_CALLBACKS0U/* CEC register callback disabled */#defineUSE_HAL_CRYP_REGISTER_CALLBACKS0U/* CRYP register callback disabled */#defineUSE_HAL_DAC_REGISTER_CALLBACKS0U/* DAC register callback disabled */#defineUSE_HAL_DCMI_REGISTER_CALLBACKS0U/* DCMI register callback disabled */#defineUSE_HAL_DFSDM_REGISTER_CALLBACKS0U/* DFSDM register callback disabled */#defineUSE_HAL_DMA2D_REGISTER_CALLBACKS0U/* DMA2D register callback disabled */#defineUSE_HAL_DSI_REGISTER_CALLBACKS0U/* DSI register callback disabled */#defineUSE_HAL_ETH_REGISTER_CALLBACKS0U/* ETH register callback disabled */#defineUSE_HAL_HASH_REGISTER_CALLBACKS0U/* HASH register callback disabled */#defineUSE_HAL_HCD_REGISTER_CALLBACKS0U/* HCD register callback disabled */#defineUSE_HAL_I2C_REGISTER_CALLBACKS0U/* I2C register callback disabled */#defineUSE_HAL_FMPI2C_REGISTER_CALLBACKS0U/* FMPI2C register callback disabled */#defineUSE_HAL_I2S_REGISTER_CALLBACKS0U/* I2S register callback disabled */#defineUSE_HAL_IRDA_REGISTER_CALLBACKS0U/* IRDA register callback disabled */#defineUSE_HAL_LPTIM_REGISTER_CALLBACKS0U/* LPTIM register callback disabled */#defineUSE_HAL_LTDC_REGISTER_CALLBACKS0U/* LTDC register callback disabled */#defineUSE_HAL_MMC_REGISTER_CALLBACKS0U/* MMC register callback disabled */#defineUSE_HAL_NAND_REGISTER_CALLBACKS0U/* NAND register callback disabled */#defineUSE_HAL_NOR_REGISTER_CALLBACKS0U/* NOR register callback disabled */#defineUSE_HAL_PCCARD_REGISTER_CALLBACKS0U/* PCCARD register callback disabled */#defineUSE_HAL_PCD_REGISTER_CALLBACKS0U/* PCD register callback disabled */#defineUSE_HAL_QSPI_REGISTER_CALLBACKS0U/* QSPI register callback disabled */#defineUSE_HAL_RNG_REGISTER_CALLBACKS0U/* RNG register callback disabled */#defineUSE_HAL_RTC_REGISTER_CALLBACKS0U/* RTC register callback disabled */#defineUSE_HAL_SAI_REGISTER_CALLBACKS0U/* SAI register callback disabled */#defineUSE_HAL_SD_REGISTER_CALLBACKS0U/* SD register callback disabled */#defineUSE_HAL_SMARTCARD_REGISTER_CALLBACKS0U/* SMARTCARD register callback disabled */#defineUSE_HAL_SDRAM_REGISTER_CALLBACKS0U/* SDRAM register callback disabled */#defineUSE_HAL_SRAM_REGISTER_CALLBACKS0U/* SRAM register callback disabled */#defineUSE_HAL_SPDIFRX_REGISTER_CALLBACKS0U/* SPDIFRX register callback disabled */#defineUSE_HAL_SMBUS_REGISTER_CALLBACKS0U/* SMBUS register callback disabled */#defineUSE_HAL_SPI_REGISTER_CALLBACKS0U/* SPI register callback disabled */#defineUSE_HAL_TIM_REGISTER_CALLBACKS0U/* TIM register callback disabled */#defineUSE_HAL_UART_REGISTER_CALLBACKS0U/* UART register callback disabled */#defineUSE_HAL_USART_REGISTER_CALLBACKS0U/* USART register callback disabled */#defineUSE_HAL_WWDG_REGISTER_CALLBACKS0U/* WWDG register callback disabled *//* ########################## Assert Selection ############################## *//** * @brief Uncomment the line below to expanse the "assert_param" macro in the * HAL drivers code *//* ... *//* #define USE_FULL_ASSERT 1 *//* ################## Ethernet peripheral configuration ##################### *//* Section 1 : Ethernet peripheral configuration *//* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */#defineMAC_ADDR000#defineMAC_ADDR180#defineMAC_ADDR20xe1#defineMAC_ADDR301#defineMAC_ADDR435#defineMAC_ADDR50xed/* Definition of the Ethernet driver buffers size and count */#defineETH_RX_BUF_SIZE(1528U)/* ETH max buffer size for receive */#defineETH_TX_BUF_SIZE(1528U)/* ETH max buffer size for transmit */#defineETH_RXBUFNB(4U)/* 4 Rx buffers of size ETH_RX_BUF_SIZE */#defineETH_TXBUFNB(4U)/* 4 Tx buffers of size ETH_TX_BUF_SIZE *//* Section 2: PHY configuration section *//* DP83848 PHY Address*/#defineDP83848_PHY_ADDRESS0x01/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/#definePHY_RESET_DELAY(0x000000FFU)/* PHY Configuration delay */#definePHY_CONFIG_DELAY(0x00000FFFU)#definePHY_READ_TO(0x0000FFFFU)#definePHY_WRITE_TO(0x0000FFFFU)/* Section 3: Common PHY Registers */#definePHY_BCR((uint16_t)0x00)/*!< Transceiver Basic Control Register */#definePHY_BSR((uint16_t)0x01)/*!< Transceiver Basic Status Register */#definePHY_RESET((uint16_t)0x8000)/*!< PHY Reset */#definePHY_LOOPBACK((uint16_t)0x4000)/*!< Select loop-back mode */#definePHY_FULLDUPLEX_100M((uint16_t)0x2100)/*!< Set the full-duplex mode at 100 Mb/s */#definePHY_HALFDUPLEX_100M((uint16_t)0x2000)/*!< Set the half-duplex mode at 100 Mb/s */#definePHY_FULLDUPLEX_10M((uint16_t)0x0100)/*!< Set the full-duplex mode at 10 Mb/s */#definePHY_HALFDUPLEX_10M((uint16_t)0x0000)/*!< Set the half-duplex mode at 10 Mb/s */#definePHY_AUTONEGOTIATION((uint16_t)0x1000)/*!< Enable auto-negotiation function */#definePHY_RESTART_AUTONEGOTIATION((uint16_t)0x0200)/*!< Restart auto-negotiation function */#definePHY_POWERDOWN((uint16_t)0x0800)/*!< Select the power down mode */#definePHY_ISOLATE((uint16_t)0x0400)/*!< Isolate PHY from MII */#definePHY_AUTONEGO_COMPLETE((uint16_t)0x0020)/*!< Auto-Negotiation process completed */#definePHY_LINKED_STATUS((uint16_t)0x0004)/*!< Valid link established */#definePHY_JABBER_DETECTION((uint16_t)0x0002)/*!< Jabber condition detected *//* Section 4: Extended PHY Registers */#definePHY_SR((uint16_t)0x10)/*!< PHY status register Offset */#definePHY_MICR((uint16_t)0x11)/*!< MII Interrupt Control Register */#definePHY_MISR((uint16_t)0x12)/*!< MII Interrupt Status and Misc. Control Register */#definePHY_LINK_STATUS((uint16_t)0x0001)/*!< PHY Link mask */#definePHY_SPEED_STATUS((uint16_t)0x0002)/*!< PHY Speed mask */#definePHY_DUPLEX_STATUS((uint16_t)0x0004)/*!< PHY Duplex mask */#definePHY_MICR_INT_EN((uint16_t)0x0002)/*!< PHY Enable interrupts */#definePHY_MICR_INT_OE((uint16_t)0x0001)/*!< PHY Enable output interrupt events */#definePHY_MISR_LINK_INT_EN((uint16_t)0x0020U)/*!< Enable Interrupt on change of link status */#definePHY_LINK_INTERRUPT((uint16_t)0x2000U)/*!< PHY link status interrupt mask *//* ################## SPI peripheral configuration ########################## *//* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver* Activated: CRC code is present inside driver* Deactivated: CRC code cleaned from driver*//* ... */#defineUSE_SPI_CRC1U85 definesExported constants/* Includes ------------------------------------------------------------------*//** * @brief Include module's header file *//* ... */#ifdefHAL_RCC_MODULE_ENABLED#include"stm32f4xx_hal_rcc.h"#endif/* HAL_RCC_MODULE_ENABLED */#ifdefHAL_GPIO_MODULE_ENABLED#include"stm32f4xx_hal_gpio.h"#endif/* HAL_GPIO_MODULE_ENABLED */#ifdefHAL_DMA_MODULE_ENABLED#include"stm32f4xx_hal_dma.h"#endif/* HAL_DMA_MODULE_ENABLED */#ifdefHAL_CORTEX_MODULE_ENABLED#include"stm32f4xx_hal_cortex.h"#endif/* HAL_CORTEX_MODULE_ENABLED */#ifdefHAL_ADC_MODULE_ENABLED#include"stm32f4xx_hal_adc.h"#endif/* HAL_ADC_MODULE_ENABLED */#ifdefHAL_CAN_MODULE_ENABLED#include"stm32f4xx_hal_can.h"#endif/* HAL_CAN_MODULE_ENABLED */#ifdefHAL_CAN_LEGACY_MODULE_ENABLED#include"stm32f4xx_hal_can_legacy.h"#endif/* HAL_CAN_LEGACY_MODULE_ENABLED */#ifdefHAL_CRC_MODULE_ENABLED#include"stm32f4xx_hal_crc.h"#endif/* HAL_CRC_MODULE_ENABLED */#ifdefHAL_CRYP_MODULE_ENABLED#include"stm32f4xx_hal_cryp.h"#endif/* HAL_CRYP_MODULE_ENABLED */#ifdefHAL_DMA2D_MODULE_ENABLED#include"stm32f4xx_hal_dma2d.h"#endif/* HAL_DMA2D_MODULE_ENABLED */#ifdefHAL_DAC_MODULE_ENABLED#include"stm32f4xx_hal_dac.h"#endif/* HAL_DAC_MODULE_ENABLED */#ifdefHAL_DCMI_MODULE_ENABLED#include"stm32f4xx_hal_dcmi.h"#endif/* HAL_DCMI_MODULE_ENABLED */#ifdefHAL_ETH_MODULE_ENABLED#include"stm32f4xx_hal_eth.h"#endif/* HAL_ETH_MODULE_ENABLED */#ifdefHAL_ETH_LEGACY_MODULE_ENABLED#include"stm32f4xx_hal_eth_legacy.h"#endif/* HAL_ETH_LEGACY_MODULE_ENABLED */#ifdefHAL_FLASH_MODULE_ENABLED#include"stm32f4xx_hal_flash.h"#endif/* HAL_FLASH_MODULE_ENABLED */#ifdefHAL_SRAM_MODULE_ENABLED#include"stm32f4xx_hal_sram.h"#endif/* HAL_SRAM_MODULE_ENABLED */#ifdefHAL_NOR_MODULE_ENABLED#include"stm32f4xx_hal_nor.h"#endif/* HAL_NOR_MODULE_ENABLED */#ifdefHAL_NAND_MODULE_ENABLED#include"stm32f4xx_hal_nand.h"#endif/* HAL_NAND_MODULE_ENABLED */#ifdefHAL_PCCARD_MODULE_ENABLED#include"stm32f4xx_hal_pccard.h"#endif/* HAL_PCCARD_MODULE_ENABLED */#ifdefHAL_SDRAM_MODULE_ENABLED#include"stm32f4xx_hal_sdram.h"#endif/* HAL_SDRAM_MODULE_ENABLED */#ifdefHAL_HASH_MODULE_ENABLED#include"stm32f4xx_hal_hash.h"#endif/* HAL_HASH_MODULE_ENABLED */#ifdefHAL_I2C_MODULE_ENABLED#include"stm32f4xx_hal_i2c.h"#endif/* HAL_I2C_MODULE_ENABLED */#ifdefHAL_I2S_MODULE_ENABLED#include"stm32f4xx_hal_i2s.h"#endif/* HAL_I2S_MODULE_ENABLED */#ifdefHAL_IWDG_MODULE_ENABLED#include"stm32f4xx_hal_iwdg.h"#endif/* HAL_IWDG_MODULE_ENABLED */#ifdefHAL_LTDC_MODULE_ENABLED#include"stm32f4xx_hal_ltdc.h"#endif/* HAL_LTDC_MODULE_ENABLED */#ifdefHAL_PWR_MODULE_ENABLED#include"stm32f4xx_hal_pwr.h"#endif/* HAL_PWR_MODULE_ENABLED */#ifdefHAL_RNG_MODULE_ENABLED#include"stm32f4xx_hal_rng.h"#endif/* HAL_RNG_MODULE_ENABLED */#ifdefHAL_RTC_MODULE_ENABLED#include"stm32f4xx_hal_rtc.h"#endif/* HAL_RTC_MODULE_ENABLED */#ifdefHAL_SAI_MODULE_ENABLED#include"stm32f4xx_hal_sai.h"#endif/* HAL_SAI_MODULE_ENABLED */#ifdefHAL_SD_MODULE_ENABLED#include"stm32f4xx_hal_sd.h"#endif/* HAL_SD_MODULE_ENABLED */#ifdefHAL_SPI_MODULE_ENABLED#include"stm32f4xx_hal_spi.h"#endif/* HAL_SPI_MODULE_ENABLED */#ifdefHAL_TIM_MODULE_ENABLED#include"stm32f4xx_hal_tim.h"#endif/* HAL_TIM_MODULE_ENABLED */#ifdefHAL_UART_MODULE_ENABLED#include"stm32f4xx_hal_uart.h"#endif/* HAL_UART_MODULE_ENABLED */#ifdefHAL_USART_MODULE_ENABLED#include"stm32f4xx_hal_usart.h"#endif/* HAL_USART_MODULE_ENABLED */#ifdefHAL_IRDA_MODULE_ENABLED#include"stm32f4xx_hal_irda.h"#endif/* HAL_IRDA_MODULE_ENABLED */#ifdefHAL_SMARTCARD_MODULE_ENABLED#include"stm32f4xx_hal_smartcard.h"#endif/* HAL_SMARTCARD_MODULE_ENABLED */#ifdefHAL_WWDG_MODULE_ENABLED#include"stm32f4xx_hal_wwdg.h"#endif/* HAL_WWDG_MODULE_ENABLED */#ifdefHAL_PCD_MODULE_ENABLED#include"stm32f4xx_hal_pcd.h"#endif/* HAL_PCD_MODULE_ENABLED */#ifdefHAL_HCD_MODULE_ENABLED#include"stm32f4xx_hal_hcd.h"#endif/* HAL_HCD_MODULE_ENABLED */Includes/* Exported macro ------------------------------------------------------------*/#ifdefUSE_FULL_ASSERT/** * @brief The assert_param macro is used for function's parameters check. * @param expr: If expr is false, it calls assert_failed function * which reports the name of the source file and the source * line number of the call that failed. * If expr is true, it returns no value. * @retval None *//* ... */#defineassert_param(expr)((expr)?(void)0:assert_failed((uint8_t*)__FILE__,__LINE__))/* Exported functions ------------------------------------------------------- */voidassert_failed(uint8_t*file,uint32_tline);/* ... */#else#defineassert_param(expr)((void)0U)#endif/* USE_FULL_ASSERT *//** * @} *//* ... *//** * @} *//* ... */#ifdef__cplusplus}extern "C" { ... }#endif/* ... */#endif/* __STM32F4xx_HAL_CONF_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.