58#if !defined (STM32F405xx) && !defined (STM32F415xx) && !defined (STM32F407xx) && !defined (STM32F417xx) && \
59 !defined (STM32F427xx) && !defined (STM32F437xx) && !defined (STM32F429xx) && !defined (STM32F439xx) && \
60 !defined (STM32F401xC) && !defined (STM32F401xE) && !defined (STM32F410Tx) && !defined (STM32F410Cx) && \
61 !defined (STM32F410Rx) && !defined (STM32F411xE) && !defined (STM32F446xx) && !defined (STM32F469xx) && \
62 !defined (STM32F479xx) && !defined (STM32F412Cx) && !defined (STM32F412Rx) && !defined (STM32F412Vx) && \
63 !defined (STM32F412Zx) && !defined (STM32F413xx) && !defined (STM32F423xx)
98#if !defined (USE_HAL_DRIVER)
110#define __STM32F4xx_CMSIS_VERSION_MAIN (0x02U)
111#define __STM32F4xx_CMSIS_VERSION_SUB1 (0x06U)
112#define __STM32F4xx_CMSIS_VERSION_SUB2 (0x08U)
113#define __STM32F4xx_CMSIS_VERSION_RC (0x00U)
114#define __STM32F4xx_CMSIS_VERSION ((__STM32F4xx_CMSIS_VERSION_MAIN << 24)\
115 |(__STM32F4xx_CMSIS_VERSION_SUB1 << 16)\
116 |(__STM32F4xx_CMSIS_VERSION_SUB2 << 8 )\
117 |(__STM32F4xx_CMSIS_VERSION_RC))
127#if defined(STM32F405xx)
128 #include "stm32f405xx_matlab.h"
129#elif defined(STM32F415xx)
130 #include "stm32f415xx_matlab.h"
131#elif defined(STM32F407xx)
133#elif defined(STM32F417xx)
134 #include "stm32f417xx_matlab.h"
135#elif defined(STM32F427xx)
136 #include "stm32f427xx_matlab.h"
137#elif defined(STM32F437xx)
138 #include "stm32f437xx_matlab.h"
139#elif defined(STM32F429xx)
140 #include "stm32f429xx_matlab.h"
141#elif defined(STM32F439xx)
142 #include "stm32f439xx_matlab.h"
143#elif defined(STM32F401xC)
144 #include "stm32f401xc_matlab.h"
145#elif defined(STM32F401xE)
146 #include "stm32f401xe_matlab.h"
147#elif defined(STM32F410Tx)
148 #include "stm32f410tx_matlab.h"
149#elif defined(STM32F410Cx)
150 #include "stm32f410cx_matlab.h"
151#elif defined(STM32F410Rx)
152 #include "stm32f410rx_matlab.h"
153#elif defined(STM32F411xE)
154 #include "stm32f411xe_matlab.h"
155#elif defined(STM32F446xx)
156 #include "stm32f446xx_matlab.h"
157#elif defined(STM32F469xx)
158 #include "stm32f469xx_matlab.h"
159#elif defined(STM32F479xx)
160 #include "stm32f479xx_matlab.h"
161#elif defined(STM32F412Cx)
162 #include "stm32f412cx_matlab.h"
163#elif defined(STM32F412Zx)
164 #include "stm32f412zx_matlab.h"
165#elif defined(STM32F412Rx)
166 #include "stm32f412rx_matlab.h"
167#elif defined(STM32F412Vx)
168 #include "stm32f412vx_matlab.h"
169#elif defined(STM32F413xx)
170 #include "stm32f413xx_matlab.h"
171#elif defined(STM32F423xx)
172 #include "stm32f423xx_matlab.h"
174 #error "Please select first the target STM32F4xx device used in your application (in stm32f4xx_matlab.h file)"
195#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
211#define SET_BIT(REG, BIT) ((REG) |= (BIT))
213#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
215#define READ_BIT(REG, BIT) ((REG) & (BIT))
217#define CLEAR_REG(REG) ((REG) = (0x0))
219#define WRITE_REG(REG, VAL) ((REG) = (VAL))
221#define READ_REG(REG) ((REG))
223#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
225#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))
229#define ATOMIC_SET_BIT(REG, BIT) \
233 val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \
234 } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
238#define ATOMIC_CLEAR_BIT(REG, BIT) \
242 val = __LDREXW((__IO uint32_t *)&(REG)) & ~(BIT); \
243 } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
247#define ATOMIC_MODIFY_REG(REG, CLEARMSK, SETMASK) \
251 val = (__LDREXW((__IO uint32_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
252 } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
256#define ATOMIC_SETH_BIT(REG, BIT) \
260 val = __LDREXH((__IO uint16_t *)&(REG)) | (BIT); \
261 } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
265#define ATOMIC_CLEARH_BIT(REG, BIT) \
269 val = __LDREXH((__IO uint16_t *)&(REG)) & ~(BIT); \
270 } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
274#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) \
278 val = (__LDREXH((__IO uint16_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
279 } while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
286#if defined (USE_HAL_DRIVER)
287 #include "stm32f4xx_hal.h"
ErrorStatus
Definition stm32f4xx.h:198
FlagStatus
Definition stm32f4xx.h:185
FunctionalState
Definition stm32f4xx.h:191
@ ERROR
Definition stm32f4xx.h:200
@ SUCCESS
Definition stm32f4xx.h:199
@ RESET
Definition stm32f4xx.h:186
@ SET
Definition stm32f4xx.h:187
@ ENABLE
Definition stm32f4xx.h:193
@ DISABLE
Definition stm32f4xx.h:192