STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
stm32f4xx_hal_conf.h
Go to the documentation of this file.
1/* USER CODE BEGIN Header */
21/* USER CODE END Header */
22
23/* Define to prevent recursive inclusion -------------------------------------*/
24#ifndef __STM32F4xx_HAL_CONF_H
25#define __STM32F4xx_HAL_CONF_H
26
27#ifdef __cplusplus
28 extern "C" {
29#endif
30
31/* Exported types ------------------------------------------------------------*/
32/* Exported constants --------------------------------------------------------*/
33
34/* ########################## Module Selection ############################## */
38#define HAL_MODULE_ENABLED
39
40 /* #define HAL_CRYP_MODULE_ENABLED */
41/* #define HAL_ADC_MODULE_ENABLED */
42/* #define HAL_CAN_MODULE_ENABLED */
43/* #define HAL_CRC_MODULE_ENABLED */
44/* #define HAL_CAN_LEGACY_MODULE_ENABLED */
45/* #define HAL_DAC_MODULE_ENABLED */
46/* #define HAL_DCMI_MODULE_ENABLED */
47/* #define HAL_DMA2D_MODULE_ENABLED */
48/* #define HAL_ETH_MODULE_ENABLED */
49/* #define HAL_ETH_LEGACY_MODULE_ENABLED */
50/* #define HAL_NAND_MODULE_ENABLED */
51/* #define HAL_NOR_MODULE_ENABLED */
52/* #define HAL_PCCARD_MODULE_ENABLED */
53/* #define HAL_SRAM_MODULE_ENABLED */
54/* #define HAL_SDRAM_MODULE_ENABLED */
55/* #define HAL_HASH_MODULE_ENABLED */
56/* #define HAL_I2C_MODULE_ENABLED */
57/* #define HAL_I2S_MODULE_ENABLED */
58/* #define HAL_IWDG_MODULE_ENABLED */
59/* #define HAL_LTDC_MODULE_ENABLED */
60/* #define HAL_RNG_MODULE_ENABLED */
61/* #define HAL_RTC_MODULE_ENABLED */
62/* #define HAL_SAI_MODULE_ENABLED */
63/* #define HAL_SD_MODULE_ENABLED */
64/* #define HAL_MMC_MODULE_ENABLED */
65/* #define HAL_SPI_MODULE_ENABLED */
66/* #define HAL_TIM_MODULE_ENABLED */
67/* #define HAL_UART_MODULE_ENABLED */
68/* #define HAL_USART_MODULE_ENABLED */
69/* #define HAL_IRDA_MODULE_ENABLED */
70/* #define HAL_SMARTCARD_MODULE_ENABLED */
71/* #define HAL_SMBUS_MODULE_ENABLED */
72/* #define HAL_WWDG_MODULE_ENABLED */
73/* #define HAL_PCD_MODULE_ENABLED */
74/* #define HAL_HCD_MODULE_ENABLED */
75/* #define HAL_DSI_MODULE_ENABLED */
76/* #define HAL_QSPI_MODULE_ENABLED */
77/* #define HAL_QSPI_MODULE_ENABLED */
78/* #define HAL_CEC_MODULE_ENABLED */
79/* #define HAL_FMPI2C_MODULE_ENABLED */
80/* #define HAL_FMPSMBUS_MODULE_ENABLED */
81/* #define HAL_SPDIFRX_MODULE_ENABLED */
82/* #define HAL_DFSDM_MODULE_ENABLED */
83/* #define HAL_LPTIM_MODULE_ENABLED */
84#define HAL_GPIO_MODULE_ENABLED
85#define HAL_EXTI_MODULE_ENABLED
86#define HAL_DMA_MODULE_ENABLED
87#define HAL_RCC_MODULE_ENABLED
88#define HAL_FLASH_MODULE_ENABLED
89#define HAL_PWR_MODULE_ENABLED
90#define HAL_CORTEX_MODULE_ENABLED
91
92/* ########################## HSE/HSI Values adaptation ##################### */
98#if !defined (HSE_VALUE)
99 #define HSE_VALUE 8000000U
100#endif /* HSE_VALUE */
101
102#if !defined (HSE_STARTUP_TIMEOUT)
103 #define HSE_STARTUP_TIMEOUT 100U
104#endif /* HSE_STARTUP_TIMEOUT */
105
111#if !defined (HSI_VALUE)
112 #define HSI_VALUE ((uint32_t)16000000U)
113#endif /* HSI_VALUE */
114
118#if !defined (LSI_VALUE)
119 #define LSI_VALUE 32000U
120#endif /* LSI_VALUE */
126#if !defined (LSE_VALUE)
127 #define LSE_VALUE 32768U
128#endif /* LSE_VALUE */
129
130#if !defined (LSE_STARTUP_TIMEOUT)
131 #define LSE_STARTUP_TIMEOUT 5000U
132#endif /* LSE_STARTUP_TIMEOUT */
133
139#if !defined (EXTERNAL_CLOCK_VALUE)
140 #define EXTERNAL_CLOCK_VALUE 12288000U
141#endif /* EXTERNAL_CLOCK_VALUE */
142
143/* Tip: To avoid modifying this file each time you need to use different HSE,
144 === you can define the HSE value in your toolchain compiler preprocessor. */
145
146/* ########################### System Configuration ######################### */
150#define VDD_VALUE 3300U
151#define TICK_INT_PRIORITY 0U
152#define USE_RTOS 0U
153#define PREFETCH_ENABLE 1U
154#define INSTRUCTION_CACHE_ENABLE 1U
155#define DATA_CACHE_ENABLE 1U
156
157#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
158#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */
159#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
160#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
161#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
162#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
163#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
164#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
165#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
166#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
167#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
168#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
169#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
170#define USE_HAL_FMPI2C_REGISTER_CALLBACKS 0U /* FMPI2C register callback disabled */
171#define USE_HAL_FMPSMBUS_REGISTER_CALLBACKS 0U /* FMPSMBUS register callback disabled */
172#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
173#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
174#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
175#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
176#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
177#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
178#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
179#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */
180#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
181#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
182#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
183#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
184#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
185#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
186#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
187#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
188#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
189#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
190#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
191#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
192#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
193#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
194#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
195#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
196
197/* ########################## Assert Selection ############################## */
202/* #define USE_FULL_ASSERT 1U */
203
204/* ################## Ethernet peripheral configuration ##################### */
205
206/* Section 1 : Ethernet peripheral configuration */
207
208/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
209#define MAC_ADDR0 2U
210#define MAC_ADDR1 0U
211#define MAC_ADDR2 0U
212#define MAC_ADDR3 0U
213#define MAC_ADDR4 0U
214#define MAC_ADDR5 0U
215
216/* Definition of the Ethernet driver buffers size and count */
217#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
218#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
219#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
220#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
221
222/* Section 2: PHY configuration section */
223
224/* DP83848_PHY_ADDRESS Address*/
225#define DP83848_PHY_ADDRESS
226/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
227#define PHY_RESET_DELAY 0x000000FFU
228/* PHY Configuration delay */
229#define PHY_CONFIG_DELAY 0x00000FFFU
230
231#define PHY_READ_TO 0x0000FFFFU
232#define PHY_WRITE_TO 0x0000FFFFU
233
234/* Section 3: Common PHY Registers */
235
236#define PHY_BCR ((uint16_t)0x0000U)
237#define PHY_BSR ((uint16_t)0x0001U)
239#define PHY_RESET ((uint16_t)0x8000U)
240#define PHY_LOOPBACK ((uint16_t)0x4000U)
241#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U)
242#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U)
243#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U)
244#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U)
245#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U)
246#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U)
247#define PHY_POWERDOWN ((uint16_t)0x0800U)
248#define PHY_ISOLATE ((uint16_t)0x0400U)
250#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U)
251#define PHY_LINKED_STATUS ((uint16_t)0x0004U)
252#define PHY_JABBER_DETECTION ((uint16_t)0x0002U)
254/* Section 4: Extended PHY Registers */
255#define PHY_SR ((uint16_t))
257#define PHY_SPEED_STATUS ((uint16_t))
258#define PHY_DUPLEX_STATUS ((uint16_t))
260/* ################## SPI peripheral configuration ########################## */
261
262/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
263* Activated: CRC code is present inside driver
264* Deactivated: CRC code cleaned from driver
265*/
266
267#define USE_SPI_CRC 0U
268
269/* Includes ------------------------------------------------------------------*/
274#ifdef HAL_RCC_MODULE_ENABLED
275 #include "stm32f4xx_hal_rcc.h"
276#endif /* HAL_RCC_MODULE_ENABLED */
277
278#ifdef HAL_GPIO_MODULE_ENABLED
279 #include "stm32f4xx_hal_gpio.h"
280#endif /* HAL_GPIO_MODULE_ENABLED */
281
282#ifdef HAL_EXTI_MODULE_ENABLED
283 #include "stm32f4xx_hal_exti.h"
284#endif /* HAL_EXTI_MODULE_ENABLED */
285
286#ifdef HAL_DMA_MODULE_ENABLED
287 #include "stm32f4xx_hal_dma.h"
288#endif /* HAL_DMA_MODULE_ENABLED */
289
290#ifdef HAL_CORTEX_MODULE_ENABLED
291 #include "stm32f4xx_hal_cortex.h"
292#endif /* HAL_CORTEX_MODULE_ENABLED */
293
294#ifdef HAL_ADC_MODULE_ENABLED
295 #include "stm32f4xx_hal_adc.h"
296#endif /* HAL_ADC_MODULE_ENABLED */
297
298#ifdef HAL_CAN_MODULE_ENABLED
299 #include "stm32f4xx_hal_can.h"
300#endif /* HAL_CAN_MODULE_ENABLED */
301
302#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
304#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
305
306#ifdef HAL_CRC_MODULE_ENABLED
307 #include "stm32f4xx_hal_crc.h"
308#endif /* HAL_CRC_MODULE_ENABLED */
309
310#ifdef HAL_CRYP_MODULE_ENABLED
311 #include "stm32f4xx_hal_cryp.h"
312#endif /* HAL_CRYP_MODULE_ENABLED */
313
314#ifdef HAL_DMA2D_MODULE_ENABLED
315 #include "stm32f4xx_hal_dma2d.h"
316#endif /* HAL_DMA2D_MODULE_ENABLED */
317
318#ifdef HAL_DAC_MODULE_ENABLED
319 #include "stm32f4xx_hal_dac.h"
320#endif /* HAL_DAC_MODULE_ENABLED */
321
322#ifdef HAL_DCMI_MODULE_ENABLED
323 #include "stm32f4xx_hal_dcmi.h"
324#endif /* HAL_DCMI_MODULE_ENABLED */
325
326#ifdef HAL_ETH_MODULE_ENABLED
327 #include "stm32f4xx_hal_eth.h"
328#endif /* HAL_ETH_MODULE_ENABLED */
329
330#ifdef HAL_ETH_LEGACY_MODULE_ENABLED
332#endif /* HAL_ETH_LEGACY_MODULE_ENABLED */
333
334#ifdef HAL_FLASH_MODULE_ENABLED
335 #include "stm32f4xx_hal_flash.h"
336#endif /* HAL_FLASH_MODULE_ENABLED */
337
338#ifdef HAL_SRAM_MODULE_ENABLED
339 #include "stm32f4xx_hal_sram.h"
340#endif /* HAL_SRAM_MODULE_ENABLED */
341
342#ifdef HAL_NOR_MODULE_ENABLED
343 #include "stm32f4xx_hal_nor.h"
344#endif /* HAL_NOR_MODULE_ENABLED */
345
346#ifdef HAL_NAND_MODULE_ENABLED
347 #include "stm32f4xx_hal_nand.h"
348#endif /* HAL_NAND_MODULE_ENABLED */
349
350#ifdef HAL_PCCARD_MODULE_ENABLED
351 #include "stm32f4xx_hal_pccard.h"
352#endif /* HAL_PCCARD_MODULE_ENABLED */
353
354#ifdef HAL_SDRAM_MODULE_ENABLED
355 #include "stm32f4xx_hal_sdram.h"
356#endif /* HAL_SDRAM_MODULE_ENABLED */
357
358#ifdef HAL_HASH_MODULE_ENABLED
359 #include "stm32f4xx_hal_hash.h"
360#endif /* HAL_HASH_MODULE_ENABLED */
361
362#ifdef HAL_I2C_MODULE_ENABLED
363 #include "stm32f4xx_hal_i2c.h"
364#endif /* HAL_I2C_MODULE_ENABLED */
365
366#ifdef HAL_SMBUS_MODULE_ENABLED
367 #include "stm32f4xx_hal_smbus.h"
368#endif /* HAL_SMBUS_MODULE_ENABLED */
369
370#ifdef HAL_I2S_MODULE_ENABLED
371 #include "stm32f4xx_hal_i2s.h"
372#endif /* HAL_I2S_MODULE_ENABLED */
373
374#ifdef HAL_IWDG_MODULE_ENABLED
375 #include "stm32f4xx_hal_iwdg.h"
376#endif /* HAL_IWDG_MODULE_ENABLED */
377
378#ifdef HAL_LTDC_MODULE_ENABLED
379 #include "stm32f4xx_hal_ltdc.h"
380#endif /* HAL_LTDC_MODULE_ENABLED */
381
382#ifdef HAL_PWR_MODULE_ENABLED
383 #include "stm32f4xx_hal_pwr.h"
384#endif /* HAL_PWR_MODULE_ENABLED */
385
386#ifdef HAL_RNG_MODULE_ENABLED
387 #include "stm32f4xx_hal_rng.h"
388#endif /* HAL_RNG_MODULE_ENABLED */
389
390#ifdef HAL_RTC_MODULE_ENABLED
391 #include "stm32f4xx_hal_rtc.h"
392#endif /* HAL_RTC_MODULE_ENABLED */
393
394#ifdef HAL_SAI_MODULE_ENABLED
395 #include "stm32f4xx_hal_sai.h"
396#endif /* HAL_SAI_MODULE_ENABLED */
397
398#ifdef HAL_SD_MODULE_ENABLED
399 #include "stm32f4xx_hal_sd.h"
400#endif /* HAL_SD_MODULE_ENABLED */
401
402#ifdef HAL_SPI_MODULE_ENABLED
403 #include "stm32f4xx_hal_spi.h"
404#endif /* HAL_SPI_MODULE_ENABLED */
405
406#ifdef HAL_TIM_MODULE_ENABLED
407 #include "stm32f4xx_hal_tim.h"
408#endif /* HAL_TIM_MODULE_ENABLED */
409
410#ifdef HAL_UART_MODULE_ENABLED
411 #include "stm32f4xx_hal_uart.h"
412#endif /* HAL_UART_MODULE_ENABLED */
413
414#ifdef HAL_USART_MODULE_ENABLED
415 #include "stm32f4xx_hal_usart.h"
416#endif /* HAL_USART_MODULE_ENABLED */
417
418#ifdef HAL_IRDA_MODULE_ENABLED
419 #include "stm32f4xx_hal_irda.h"
420#endif /* HAL_IRDA_MODULE_ENABLED */
421
422#ifdef HAL_SMARTCARD_MODULE_ENABLED
424#endif /* HAL_SMARTCARD_MODULE_ENABLED */
425
426#ifdef HAL_WWDG_MODULE_ENABLED
427 #include "stm32f4xx_hal_wwdg.h"
428#endif /* HAL_WWDG_MODULE_ENABLED */
429
430#ifdef HAL_PCD_MODULE_ENABLED
431 #include "stm32f4xx_hal_pcd.h"
432#endif /* HAL_PCD_MODULE_ENABLED */
433
434#ifdef HAL_HCD_MODULE_ENABLED
435 #include "stm32f4xx_hal_hcd.h"
436#endif /* HAL_HCD_MODULE_ENABLED */
437
438#ifdef HAL_DSI_MODULE_ENABLED
439 #include "stm32f4xx_hal_dsi.h"
440#endif /* HAL_DSI_MODULE_ENABLED */
441
442#ifdef HAL_QSPI_MODULE_ENABLED
443 #include "stm32f4xx_hal_qspi.h"
444#endif /* HAL_QSPI_MODULE_ENABLED */
445
446#ifdef HAL_CEC_MODULE_ENABLED
447 #include "stm32f4xx_hal_cec.h"
448#endif /* HAL_CEC_MODULE_ENABLED */
449
450#ifdef HAL_FMPI2C_MODULE_ENABLED
451 #include "stm32f4xx_hal_fmpi2c.h"
452#endif /* HAL_FMPI2C_MODULE_ENABLED */
453
454#ifdef HAL_FMPSMBUS_MODULE_ENABLED
455 #include "stm32f4xx_hal_fmpsmbus.h"
456#endif /* HAL_FMPSMBUS_MODULE_ENABLED */
457
458#ifdef HAL_SPDIFRX_MODULE_ENABLED
459 #include "stm32f4xx_hal_spdifrx.h"
460#endif /* HAL_SPDIFRX_MODULE_ENABLED */
461
462#ifdef HAL_DFSDM_MODULE_ENABLED
463 #include "stm32f4xx_hal_dfsdm.h"
464#endif /* HAL_DFSDM_MODULE_ENABLED */
465
466#ifdef HAL_LPTIM_MODULE_ENABLED
467 #include "stm32f4xx_hal_lptim.h"
468#endif /* HAL_LPTIM_MODULE_ENABLED */
469
470#ifdef HAL_MMC_MODULE_ENABLED
471 #include "stm32f4xx_hal_mmc.h"
472#endif /* HAL_MMC_MODULE_ENABLED */
473
474/* Exported macro ------------------------------------------------------------*/
475#ifdef USE_FULL_ASSERT
484 #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
485/* Exported functions ------------------------------------------------------- */
486 void assert_failed(uint8_t* file, uint32_t line);
487#else
488 #define assert_param(expr) ((void)0U)
489#endif /* USE_FULL_ASSERT */
490
491#ifdef __cplusplus
492}
493#endif
494
495#endif /* __STM32F4xx_HAL_CONF_H */
Header file containing functions prototypes of ADC HAL library.
Header file of CAN HAL module.
Header file of CAN HAL module.
Header file of CEC HAL module.
Header file of CORTEX HAL module.
Header file of CRC HAL module.
Header file of CRYP HAL module.
Header file of DAC HAL module.
Header file of DCMI HAL module.
Header file of DFSDM HAL module.
Header file of DMA2D HAL module.
Header file of DMA HAL module.
Header file of DSI HAL module.
Header file of ETH HAL module.
Header file of ETH HAL module.
Header file of EXTI HAL module.
Header file of FLASH HAL module.
Header file of FMPI2C HAL module.
Header file of FMPSMBUS HAL module.
Header file of GPIO HAL module.
Header file of HASH HAL module.
Header file of HCD HAL module.
Header file of I2C HAL module.
Header file of I2S HAL module.
Header file of IRDA HAL module.
Header file of IWDG HAL module.
Header file of LPTIM HAL module.
Header file of LTDC HAL module.
Header file of MMC HAL module.
Header file of NAND HAL module.
Header file of NOR HAL module.
Header file of PCCARD HAL module.
Header file of PCD HAL module.
Header file of PWR HAL module.
Header file of QSPI HAL module.
Header file of RCC HAL module.
Header file of RNG HAL module.
Header file of RTC HAL module.
Header file of SAI HAL module.
Header file of SD HAL module.
Header file of SDRAM HAL module.
Header file of SMARTCARD HAL module.
Header file of SMBUS HAL module.
Header file of SPDIFRX HAL module.
Header file of SPI HAL module.
Header file of SRAM HAL module.
Header file of TIM HAL module.
Header file of UART HAL module.
Header file of USART HAL module.
Header file of WWDG HAL module.