1 /**
2   ******************************************************************************
3   * @file    system_stm32f4xx.h
4   * @author  MCD Application Team
5   * @brief   CMSIS Cortex-M4 Device System Source File for STM32F4xx devices.
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2017 STMicroelectronics.
10   * All rights reserved.
11   *
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.
15   *
16   ******************************************************************************
17   */
18 
19 /** @addtogroup CMSIS
20   * @{
21   */
22 
23 /** @addtogroup stm32f4xx_system
24   * @{
25   */
26 
27 /**
28   * @brief Define to prevent recursive inclusion
29   */
30 #ifndef __SYSTEM_STM32F4XX_H
31 #define __SYSTEM_STM32F4XX_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /** @addtogroup STM32F4xx_System_Includes
38   * @{
39   */
40 
41 /**
42   * @}
43   */
44 
45 
46 /** @addtogroup STM32F4xx_System_Exported_types
47   * @{
48   */
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.
56   */
57 extern uint32_t SystemCoreClock;          /*!< System Clock Frequency (Core Clock) */
58 
59 extern const uint8_t  AHBPrescTable[16];    /*!< AHB prescalers table values */
60 extern const uint8_t  APBPrescTable[8];     /*!< APB prescalers table values */
61 
62 /**
63   * @}
64   */
65 
66 /** @addtogroup STM32F4xx_System_Exported_Constants
67   * @{
68   */
69 
70 /**
71   * @}
72   */
73 
74 /** @addtogroup STM32F4xx_System_Exported_Macros
75   * @{
76   */
77 
78 /**
79   * @}
80   */
81 
82 /** @addtogroup STM32F4xx_System_Exported_Functions
83   * @{
84   */
85 
86 extern void SystemInit(void);
87 extern void SystemCoreClockUpdate(void);
88 /**
89   * @}
90   */
91 
92 #ifdef __cplusplus
93 }
94 #endif
95 
96 #endif /*__SYSTEM_STM32F4XX_H */
97 
98 /**
99   * @}
100   */
101 
102 /**
103   * @}
104   */
105