mikroSDK Reference Manual
stm32h7xx.h
Go to the documentation of this file.
1
38#ifndef STM32H7xx_H
39#define STM32H7xx_H
40
41#ifdef __cplusplus
42 extern "C" {
43#endif /* __cplusplus */
44
52#if !defined (STM32H7)
53#define STM32H7
54#endif /* STM32H7 */
55
56
57/* Uncomment the line below according to the target STM32H7 device used in your
58 application
59 */
60
61#if !defined (STM32H743xx) && !defined (STM32H753xx) && !defined (STM32H750xx) && !defined (STM32H742xx) && \
62 !defined (STM32H745xx) && !defined (STM32H755xx) && !defined (STM32H747xx) && !defined (STM32H757xx) && \
63 !defined (STM32H7A3xx) && !defined (STM32H7A3xxQ) && !defined (STM32H7B3xx) && !defined (STM32H7B3xxQ) && !defined (STM32H7B0xx) && !defined (STM32H7B0xxQ) && \
64 !defined (STM32H735xx) && !defined (STM32H733xx) && !defined (STM32H730xx) && !defined (STM32H730xxQ) && !defined (STM32H725xx) && !defined (STM32H723xx)
65 /* #define STM32H742xx */
66 /* #define STM32H743xx */
67 /* #define STM32H753xx */
68 /* #define STM32H750xx */
69 /* #define STM32H747xx */
70 /* #define STM32H757xx */
71 /* #define STM32H745xx */
72 /* #define STM32H755xx */
73 /* #define STM32H7B0xx */
74 /* #define STM32H7A3xx */
75 /* #define STM32H7A3xxQ */
76 /* #define STM32H7B3xx */
77 /* #define STM32H7B3xxQ */
78 /* #define STM32H735xx */
79 /* #define STM32H733xx */
80 /* #define STM32H730xx */
81 /* #define STM32H730xxQ */
82 /* #define STM32H725xx */
83 /* #define STM32H723xx */
84#endif
85
86/* Tip: To avoid modifying this file each time you need to switch between these
87 devices, you can define the device in your toolchain compiler preprocessor.
88 */
89
90#if defined(DUAL_CORE) && !defined(CORE_CM4) && !defined(CORE_CM7)
91 #error "Dual core device, please select CORE_CM4 or CORE_CM7"
92#endif
93
94#if !defined (USE_HAL_DRIVER)
100 /*#define USE_HAL_DRIVER */
101#endif /* USE_HAL_DRIVER */
102
106#define __STM32H7xx_CMSIS_DEVICE_VERSION_MAIN (0x01)
107#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 (0x0A)
108#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x00)
109#define __STM32H7xx_CMSIS_DEVICE_VERSION_RC (0x00)
110#define __STM32H7xx_CMSIS_DEVICE_VERSION ((__STM32H7xx_CMSIS_DEVICE_VERSION_MAIN << 24)\
111 |(__STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 << 16)\
112 |(__STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 << 8 )\
113 |(__STM32H7xx_CMSIS_DEVICE_VERSION_RC))
114
123#if defined(STM32H743xx)
124 #include "stm32h743xx.h"
125#elif defined(STM32H753xx)
126 #include "stm32h753xx.h"
127#elif defined(STM32H750xx)
128 #include "stm32h750xx.h"
129#elif defined(STM32H742xx)
130 #include "stm32h742xx.h"
131#elif defined(STM32H745xx)
132 #include "stm32h745xx.h"
133#elif defined(STM32H755xx)
134 #include "stm32h755xx.h"
135#elif defined(STM32H747xx)
136 #include "stm32h747xx.h"
137#elif defined(STM32H757xx)
138 #include "stm32h757xx.h"
139#elif defined(STM32H7B0xx)
140 #include "stm32h7b0xx.h"
141#elif defined(STM32H7B0xxQ)
142 #include "stm32h7b0xxq.h"
143#elif defined(STM32H7A3xx)
144 #include "stm32h7a3xx.h"
145#elif defined(STM32H7B3xx)
146 #include "stm32h7b3xx.h"
147#elif defined(STM32H7A3xxQ)
148 #include "stm32h7a3xxq.h"
149#elif defined(STM32H7B3xxQ)
150 #include "stm32h7b3xxq.h"
151#elif defined(STM32H735xx)
152 #include "stm32h735xx.h"
153#elif defined(STM32H733xx)
154 #include "stm32h733xx.h"
155#elif defined(STM32H730xx)
156 #include "stm32h730xx.h"
157#elif defined(STM32H730xxQ)
158 #include "stm32h730xxq.h"
159#elif defined(STM32H725xx)
160 #include "stm32h725xx.h"
161#elif defined(STM32H723xx)
162 #include "stm32h723xx.h"
163#else
164 #error "Please select first the target STM32H7xx device used in your application (in stm32h7xx.h file)"
165#endif
166
174typedef enum
175{
176 RESET = 0,
177 SET = !RESET
178} FlagStatus, ITStatus;
179
180typedef enum
181{
182 DISABLE = 0,
183 ENABLE = !DISABLE
184} FunctionalState;
185#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
186
187typedef enum
188{
189 SUCCESS = 0,
190 ERROR = !SUCCESS
191} ErrorStatus;
192
201#define SET_BIT(REG, BIT) ((REG) |= (BIT))
202
203#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
204
205#define READ_BIT(REG, BIT) ((REG) & (BIT))
206
207#define CLEAR_REG(REG) ((REG) = (0x0))
208
209#define WRITE_REG(REG, VAL) ((REG) = (VAL))
210
211#define READ_REG(REG) ((REG))
212
213#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
214
215#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))
216
217
222#if defined (USE_HAL_DRIVER)
223 #include "stm32h7xx_hal.h"
224#endif /* USE_HAL_DRIVER */
225
226
227#ifdef __cplusplus
228}
229#endif /* __cplusplus */
230
231#endif /* STM32H7xx_H */
243/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
CMSIS STM32H743xx Device Peripheral Access Layer Header File.
CMSIS STM32H750xx Device Peripheral Access Layer Header File.
CMSIS STM32H753xx Device Peripheral Access Layer Header File.
This file contains all the functions prototypes for the HAL module driver.