2 ******************************************************************************
3 * @file system_stm32f4xx.h
4 * @author MCD Application Team
5 * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices.
6 ******************************************************************************
9 * Copyright (c) 2017 STMicroelectronics.
10 * All rights reserved.
12 * This software is licensed under terms that can be found in the LICENSE file
13 * in the root directory of this software component.
14 * If no LICENSE file comes with this software, it is provided AS-IS.
16 ******************************************************************************
23 /** @addtogroup stm32f4xx_system
28 * @brief Define to prevent recursive inclusion
30 #ifndef __SYSTEM_STM32F4XX_H
31 #define __SYSTEM_STM32F4XX_H
37 /** @addtogroup STM32F4xx_System_Includes
46 /** @addtogroup STM32F4xx_System_Exported_types
49 /* This variable is updated in three ways:
50 1) by calling CMSIS function SystemCoreClockUpdate()
51 2) by calling HAL API function HAL_RCC_GetSysClockFreq()
52 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
53 Note: If you use this function to configure the system clock; then there
54 is no need to call the 2 first functions listed above, since SystemCoreClock
55 variable is updated automatically.
57 extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
59 extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
60 extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
66 /** @addtogroup STM32F4xx_System_Exported_Constants
74 /** @addtogroup STM32F4xx_System_Exported_Macros
82 /** @addtogroup STM32F4xx_System_Exported_Functions
86 extern void SystemInit(void);
87 extern void SystemCoreClockUpdate(void);
96 #endif /*__SYSTEM_STM32F4XX_H */