1 /**
2 ******************************************************************************
3 * @file stm32u0xx_ll_system.h
4 * @author GPM Application Team
5 * @brief Header file of SYSTEM LL module.
6 @verbatim
7 ==============================================================================
8 ##### How to use this driver #####
9 ==============================================================================
10 [..]
11 The LL SYSTEM driver contains a set of generic APIs that can be
12 used by user:
13 (+) Some of the FLASH features need to be handled in the SYSTEM file.
14 (+) Access to DBG registers
15 (+) Access to SYSCFG registers
16 (+) Access to VREFBUF registers
17
18 @endverbatim
19 ******************************************************************************
20 * @attention
21 *
22 * Copyright (c) 2023 STMicroelectronics.
23 * All rights reserved.
24 *
25 * This software is licensed under terms that can be found in the LICENSE file in
26 * the root directory of this software component.
27 * If no LICENSE file comes with this software, it is provided AS-IS.
28 ******************************************************************************
29 */
30
31 /* Define to prevent recursive inclusion -------------------------------------*/
32 #ifndef STM32U0xx_LL_SYSTEM_H
33 #define STM32U0xx_LL_SYSTEM_H
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /* Includes ------------------------------------------------------------------*/
40 #include "stm32u0xx.h"
41
42 /** @addtogroup STM32U0xx_LL_Driver
43 * @{
44 */
45
46 #if defined (FLASH) || defined (SYSCFG) || defined (DBG)
47
48 /** @defgroup SYSTEM_LL SYSTEM
49 * @{
50 */
51
52 /* Private types -------------------------------------------------------------*/
53 /* Private variables ---------------------------------------------------------*/
54
55 /* Private constants ---------------------------------------------------------*/
56 /** @defgroup SYSTEM_LL_Private_Constants SYSTEM Private Constants
57 * @{
58 */
59
60 /**
61 * @}
62 */
63
64 /* Private macros ------------------------------------------------------------*/
65
66 /* Exported types ------------------------------------------------------------*/
67 /* Exported constants --------------------------------------------------------*/
68 /** @defgroup SYSTEM_LL_Exported_Constants SYSTEM Exported Constants
69 * @{
70 */
71
72 /** @defgroup SYSTEM_LL_EC_REMAP SYSCFG REMAP
73 * @{
74 */
75 #define LL_SYSCFG_REMAP_FLASH 0x00000000U /*!< Main Flash memory mapped at 0x00000000 */
76 #define LL_SYSCFG_REMAP_SYSTEMFLASH SYSCFG_CFGR1_MEM_MODE_0 /*!< System Flash memory mapped at 0x00000000 */
77 #define LL_SYSCFG_REMAP_SRAM (SYSCFG_CFGR1_MEM_MODE_1 | SYSCFG_CFGR1_MEM_MODE_0) /*!< Embedded SRAM mapped at 0x00000000 */
78 /**
79 * @}
80 */
81
82 /** @defgroup SYSTEM_LL_EC_PIN_RMP SYSCFG PIN RMP
83 * @{
84 */
85 #define LL_SYSCFG_PIN_RMP_PA11 SYSCFG_CFGR1_PA11_RMP /*!< PA11 pin behaves as PA9 pin */
86 #define LL_SYSCFG_PIN_RMP_PA12 SYSCFG_CFGR1_PA12_RMP /*!< PA12 pin behaves as PA10 pin */
87 /**
88 * @}
89 */
90
91 /** @defgroup SYSTEM_LL_EC_IR_MOD SYSCFG IR Modulation
92 * @{
93 */
94 #define LL_SYSCFG_IR_MOD_TIM16 0x00000000U /*!< 00: Timer16 is selected as IRDA Modulation envelope source */
95 #define LL_SYSCFG_IR_MOD_USART1 (SYSCFG_CFGR1_IR_MOD_0) /*!< 01: USART1 is selected as IRDA Modulation envelope source */
96 #define LL_SYSCFG_IR_MOD_USART2 (SYSCFG_CFGR1_IR_MOD_1) /*!< 10: USART2 is selected as IRDA Modulation envelope source */
97
98 /**
99 * @}
100 */
101 /** @defgroup SYSTEM_LL_EC_IR_POL SYSCFG IR Polarity
102 * @{
103 */
104 #define LL_SYSCFG_IR_POL_NOT_INVERTED 0x00000000U /*!< 0: Output of IRDA (IROut) not inverted */
105 #define LL_SYSCFG_IR_POL_INVERTED (SYSCFG_CFGR1_IR_POL) /*!< 1: Output of IRDA (IROut) inverted */
106 /**
107 * @}
108 */
109
110 /** @defgroup SYSTEM_LL_EC_I2C_FASTMODEPLUS SYSCFG I2C FASTMODEPLUS
111 * @{
112 */
113 #define LL_SYSCFG_I2C_FASTMODEPLUS_PB6 SYSCFG_CFGR1_I2C_PB6_FMP /*!< I2C PB6 Fast mode plus */
114 #define LL_SYSCFG_I2C_FASTMODEPLUS_PB7 SYSCFG_CFGR1_I2C_PB7_FMP /*!< I2C PB7 Fast mode plus */
115 #define LL_SYSCFG_I2C_FASTMODEPLUS_PB8 SYSCFG_CFGR1_I2C_PB8_FMP /*!< I2C PB8 Fast mode plus */
116 #define LL_SYSCFG_I2C_FASTMODEPLUS_PB9 SYSCFG_CFGR1_I2C_PB9_FMP /*!< I2C PB9 Fast mode plus */
117 #define LL_SYSCFG_I2C_FASTMODEPLUS_PA9 SYSCFG_CFGR1_I2C_PA9_FMP /*!< Enable Fast Mode Plus on PA9 */
118 #define LL_SYSCFG_I2C_FASTMODEPLUS_PA10 SYSCFG_CFGR1_I2C_PA10_FMP /*!< Enable Fast Mode Plus on PA10 */
119 #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C3 SYSCFG_CFGR1_I2C3_FMP /*!< Enable Fast Mode Plus on I2C3 */
120 /**
121 * @}
122 */
123
124 /** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
125 * @{
126 */
127 #define LL_SYSCFG_TIMBREAK_CCL SYSCFG_CFGR2_CCL /*!< Enables and locks the connection of Cortex-M0+ LOCKUP(HardFault)
128 output of TIM1/15/16 Break Input */
129 #define LL_SYSCFG_TIMBREAK_SPL SYSCFG_CFGR2_SPL /*!< Enables and locks the SRAM1 parity error signal connection
130 to TIM1/15/16 Break input */
131 #define LL_SYSCFG_TIMBREAK_PVDL SYSCFG_CFGR2_PVDL /*!< Enables and locks the PVD connection to TIM1/15/16 Break input,
132 and also the PVDE and PLS bits of the Power
133 Control Interface */
134 #define LL_SYSCFG_TIMBREAK_ECCL SYSCFG_CFGR2_ECCL /*!< Enables and locks the flash ECC 2-bit error detection signal connection
135 to TIM1/15/16 Break input */
136 #define LL_SYSCFG_TIMBREAK_BKPL SYSCFG_CFGR2_BKPL /*!< Enables and locks the SRAM2 parity error signal connection */
137 /**
138 * @}
139 */
140
141 /** @defgroup SYSTEM_LL_EC_TSCIOCONTROL SYSCFG TSC IOCONTROL
142 * @{
143 */
144 #define LL_SYSCFG_TSCIOCONTROL_REG 0x00000000U /*!< I/O configured through the corresponding control register */
145 #define LL_SYSCFG_TSCIOCONTROL_ANALOG SYSCFG_TSCCR_TSCIOCTRL /*!< I/O configured as analog when TSC AF is activated */
146
147 /**
148 * @}
149 */
150
151 /** @defgroup SYSTEM_LL_EC_APB1_STOP_IP DBGMCU APB1 STOP IP
152 * @{
153 */
154 #define LL_DBGMCU_APB1_GRP1_TIM2_STOP DBGMCU_APBFZ1_DBG_TIM2_STOP /*!< TIM2 counter stopped when core is halted */
155 #define LL_DBGMCU_APB1_GRP1_TIM3_STOP DBGMCU_APBFZ1_DBG_TIM3_STOP /*!< TIM3 counter stopped when core is halted */
156 #define LL_DBGMCU_APB1_GRP1_TIM4_STOP DBGMCU_APBFZ1_DBG_TIM4_STOP /*!< TIM4 counter stopped when core is halted */
157 #define LL_DBGMCU_APB1_GRP1_TIM6_STOP DBGMCU_APBFZ1_DBG_TIM6_STOP /*!< TIM6 counter stopped when core is halted */
158 #define LL_DBGMCU_APB1_GRP1_TIM7_STOP DBGMCU_APBFZ1_DBG_TIM7_STOP /*!< TIM7 counter stopped when core is halted */
159 #define LL_DBGMCU_APB1_GRP1_RTC_STOP DBGMCU_APBFZ1_DBG_RTC_STOP /*!< RTC Calendar frozen when core is halted */
160 #define LL_DBGMCU_APB1_GRP1_WWDG_STOP DBGMCU_APBFZ1_DBG_WWDG_STOP /*!< Debug Window Watchdog stopped when Core is halted */
161 #define LL_DBGMCU_APB1_GRP1_IWDG_STOP DBGMCU_APBFZ1_DBG_IWDG_STOP /*!< Debug Independent Watchdog stopped when Core is halted */
162 #define LL_DBGMCU_APB1_GRP1_I2C3_STOP DBGMCU_APBFZ1_DBG_I2C3_STOP /*!< I2C3 counter stopped when Core is halted */
163 #define LL_DBGMCU_APB1_GRP1_I2C1_STOP DBGMCU_APBFZ1_DBG_I2C1_STOP /*!< I2C1 counter stopped when Core is halted */
164 #define LL_DBGMCU_APB1_GRP1_LPTIM2_STOP DBGMCU_APBFZ1_DBG_LPTIM2_STOP /*!< LPTIM2 counter stopped when Core is halted */
165 #define LL_DBGMCU_APB1_GRP1_LPTIM1_STOP DBGMCU_APBFZ1_DBG_LPTIM1_STOP /*!< LPTIM1 counter stopped when Core is halted */
166 /**
167 * @}
168 */
169
170 /** @defgroup SYSTEM_LL_EC_APB1_STOP_IP DBGMCU APB1 STOP IP
171 * @{
172 */
173 #define LL_DBGMCU_APB1_GRP2_TIM1_STOP DBGMCU_APBFZ2_DBG_TIM1_STOP /*!< TIM1 counter stopped when core is halted */
174 #define LL_DBGMCU_APB1_GRP2_TIM14_STOP DBGMCU_APBFZ2_DBG_TIM14_STOP /*!< TIM14 counter stopped when core is halted */
175 #define LL_DBGMCU_APB1_GRP2_TIM15_STOP DBGMCU_APBFZ2_DBG_TIM15_STOP /*!< TIM15 counter stopped when core is halted */
176 #define LL_DBGMCU_APB1_GRP2_TIM16_STOP DBGMCU_APBFZ2_DBG_TIM16_STOP /*!< TIM16 counter stopped when core is halted */
177 #define LL_DBGMCU_APB1_GRP2_LPTIM3_STOP DBGMCU_APBFZ2_DBG_LPTIM3_STOP /*!< LPTIM3 counter stopped when core is halted */
178 /**
179 * @}
180 */
181
182 #if defined(VREFBUF)
183 /** @defgroup SYSTEM_LL_EC_VOLTAGE VREFBUF VOLTAGE
184 * @{
185 */
186 #define LL_VREFBUF_VOLTAGE_SCALE0 0x00000000U /*!< Voltage reference scale 0 (VREF_OUT1) */
187 #define LL_VREFBUF_VOLTAGE_SCALE1 VREFBUF_CSR_VRS /*!< Voltage reference scale 1 (VREF_OUT2) */
188 /**
189 * @}
190 */
191 #endif /* VREFBUF */
192
193 /** @defgroup SYSTEM_LL_EC_LATENCY FLASH LATENCY
194 * @{
195 */
196 #define LL_FLASH_LATENCY_0 0x00000000U /*!< FLASH Zero Latency cycle */
197 #define LL_FLASH_LATENCY_1 FLASH_ACR_LATENCY_0 /*!< FLASH One Latency cycle */
198 #define LL_FLASH_LATENCY_2 FLASH_ACR_LATENCY_1 /*!< FLASH Two wait states */
199 /**
200 * @}
201 */
202
203 /** @defgroup SYSTEM_LL_EC_KEY FLASH KEY
204 * @{
205 */
206 #define FLASH_KEY1 0x45670123U /*!< Flash Unlock key1 */
207 #define FLASH_KEY2 0xCDEF89ABU /*!< Flash Unlock key2 */
208
209 /**
210 * @}
211 */
212
213 /**
214 * @}
215 */
216
217 /* Exported macro ------------------------------------------------------------*/
218
219 /* Exported functions --------------------------------------------------------*/
220 /** @defgroup SYSTEM_LL_Exported_Functions SYSTEM Exported Functions
221 * @{
222 */
223
224 /** @defgroup SYSTEM_LL_EF_SYSCFG SYSCFG
225 * @{
226 */
227
228 /**
229 * @brief Set memory mapping at address 0x00000000
230 * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_SetRemapMemory
231 * @param Memory This parameter can be one of the following values:
232 * @arg @ref LL_SYSCFG_REMAP_FLASH
233 * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
234 * @arg @ref LL_SYSCFG_REMAP_SRAM
235 * @retval None
236 */
LL_SYSCFG_SetRemapMemory(uint32_t Memory)237 __STATIC_INLINE void LL_SYSCFG_SetRemapMemory(uint32_t Memory)
238 {
239 MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE, Memory);
240 }
241
242 /**
243 * @brief Get memory mapping at address 0x00000000
244 * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_GetRemapMemory
245 * @retval Returned value can be one of the following values:
246 * @arg @ref LL_SYSCFG_REMAP_FLASH
247 * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
248 * @arg @ref LL_SYSCFG_REMAP_SRAM
249 */
LL_SYSCFG_GetRemapMemory(void)250 __STATIC_INLINE uint32_t LL_SYSCFG_GetRemapMemory(void)
251 {
252 return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE));
253 }
254
255 /**
256 * @brief Enable remap of a pin on different pad
257 * @rmtoll SYSCFG_CFGR1 PA11_RMP LL_SYSCFG_EnablePinRemap\n
258 * SYSCFG_CFGR1 PA12_RMP LL_SYSCFG_EnablePinRemap\n
259 * @param PinRemap This parameter can be a combination of the following values:
260 * @arg @ref LL_SYSCFG_PIN_RMP_PA11
261 * @arg @ref LL_SYSCFG_PIN_RMP_PA12
262 * @retval None
263 */
LL_SYSCFG_EnablePinRemap(uint32_t PinRemap)264 __STATIC_INLINE void LL_SYSCFG_EnablePinRemap(uint32_t PinRemap)
265 {
266 SET_BIT(SYSCFG->CFGR1, PinRemap);
267 }
268
269 /**
270 * @brief Enable remap of a pin on different pad
271 * @rmtoll SYSCFG_CFGR1 PA11_RMP LL_SYSCFG_DisablePinRemap\n
272 * SYSCFG_CFGR1 PA12_RMP LL_SYSCFG_DisablePinRemap\n
273 * @param PinRemap This parameter can be a combination of the following values:
274 * @arg @ref LL_SYSCFG_PIN_RMP_PA11
275 * @arg @ref LL_SYSCFG_PIN_RMP_PA12
276 * @retval None
277 */
LL_SYSCFG_DisablePinRemap(uint32_t PinRemap)278 __STATIC_INLINE void LL_SYSCFG_DisablePinRemap(uint32_t PinRemap)
279 {
280 CLEAR_BIT(SYSCFG->CFGR1, PinRemap);
281 }
282
283 /**
284 * @brief Set IR Modulation Envelope signal source.
285 * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_SetIRModEnvelopeSignal
286 * @param Source This parameter can be one of the following values:
287 * @arg @ref LL_SYSCFG_IR_MOD_TIM16
288 * @arg @ref LL_SYSCFG_IR_MOD_USART1
289 * @arg @ref LL_SYSCFG_IR_MOD_USART2
290 * @retval None
291 */
LL_SYSCFG_SetIRModEnvelopeSignal(uint32_t Source)292 __STATIC_INLINE void LL_SYSCFG_SetIRModEnvelopeSignal(uint32_t Source)
293 {
294 MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD, Source);
295 }
296
297 /**
298 * @brief Get IR Modulation Envelope signal source.
299 * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_GetIRModEnvelopeSignal
300 * @retval Returned value can be one of the following values:
301 * @arg @ref LL_SYSCFG_IR_MOD_TIM16
302 * @arg @ref LL_SYSCFG_IR_MOD_USART1
303 * @arg @ref LL_SYSCFG_IR_MOD_USART2
304 */
LL_SYSCFG_GetIRModEnvelopeSignal(void)305 __STATIC_INLINE uint32_t LL_SYSCFG_GetIRModEnvelopeSignal(void)
306 {
307 return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD));
308 }
309
310 /**
311 * @brief Set IR Output polarity.
312 * @rmtoll SYSCFG_CFGR1 IR_POL LL_SYSCFG_SetIRPolarity
313 * @param Polarity This parameter can be one of the following values:
314 * @arg @ref LL_SYSCFG_IR_POL_INVERTED
315 * @arg @ref LL_SYSCFG_IR_POL_NOT_INVERTED
316 * @retval None
317 */
LL_SYSCFG_SetIRPolarity(uint32_t Polarity)318 __STATIC_INLINE void LL_SYSCFG_SetIRPolarity(uint32_t Polarity)
319 {
320 MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_POL, Polarity);
321 }
322
323 /**
324 * @brief Get IR Output polarity.
325 * @rmtoll SYSCFG_CFGR1 IR_POL LL_SYSCFG_GetIRPolarity
326 * @retval Returned value can be one of the following values:
327 * @arg @ref LL_SYSCFG_IR_POL_INVERTED
328 * @arg @ref LL_SYSCFG_IR_POL_NOT_INVERTED
329 */
LL_SYSCFG_GetIRPolarity(void)330 __STATIC_INLINE uint32_t LL_SYSCFG_GetIRPolarity(void)
331 {
332 return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_POL));
333 }
334
335 /**
336 * @brief Enable I/O analog switch voltage booster.
337 * @note When voltage booster is enabled, I/O analog switches are supplied
338 * by a dedicated voltage booster, from VDD power domain. This is
339 * the recommended configuration with low VDDA voltage operation.
340 * @note The I/O analog switch voltage booster is relevant for peripherals
341 * using I/O in analog input: ADC, COMP.
342 * However, COMP and OPAMP inputs have a high impedance and
343 * voltage booster do not impact performance significantly.
344 * Therefore, the voltage booster is mainly intended for
345 * usage with ADC.
346 * @rmtoll SYSCFG_CFGR1 BOOSTEN LL_SYSCFG_EnableAnalogBooster
347 * @retval None
348 */
LL_SYSCFG_EnableAnalogBooster(void)349 __STATIC_INLINE void LL_SYSCFG_EnableAnalogBooster(void)
350 {
351 SET_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN);
352 }
353
354 /**
355 * @brief Disable I/O analog switch voltage booster.
356 * @note When voltage booster is enabled, I/O analog switches are supplied
357 * by a dedicated voltage booster, from VDD power domain. This is
358 * the recommended configuration with low VDDA voltage operation.
359 * @note The I/O analog switch voltage booster is relevant for peripherals
360 * using I/O in analog input: ADC, COMP.
361 * However, COMP and OPAMP inputs have a high impedance and
362 * voltage booster do not impact performance significantly.
363 * Therefore, the voltage booster is mainly intended for
364 * usage with ADC.
365 * @rmtoll SYSCFG_CFGR1 BOOSTEN LL_SYSCFG_DisableAnalogBooster
366 * @retval None
367 */
LL_SYSCFG_DisableAnalogBooster(void)368 __STATIC_INLINE void LL_SYSCFG_DisableAnalogBooster(void)
369 {
370 CLEAR_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN);
371 }
372
373 /**
374 * @brief Enable the I2C fast mode plus driving capability.
375 * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_EnableFastModePlus\n
376 * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_EnableFastModePlus\n
377 * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_EnableFastModePlus\n
378 * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_EnableFastModePlus\n
379 * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_EnableFastModePlus\n
380 * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_EnableFastModePlus\n
381 * SYSCFG_CFGR1 I2C_FMP_I2C3 LL_SYSCFG_EnableFastModePlus\n
382 * @param ConfigFastModePlus This parameter can be a combination of the following values:
383 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
384 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
385 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
386 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
387 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9
388 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10
389 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C3
390 * @retval None
391 */
LL_SYSCFG_EnableFastModePlus(uint32_t ConfigFastModePlus)392 __STATIC_INLINE void LL_SYSCFG_EnableFastModePlus(uint32_t ConfigFastModePlus)
393 {
394 SET_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
395 }
396
397 /**
398 * @brief Disable the I2C fast mode plus driving capability.
399 * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_DisableFastModePlus\n
400 * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_DisableFastModePlus\n
401 * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_DisableFastModePlus\n
402 * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_DisableFastModePlus\n
403 * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_DisableFastModePlus\n
404 * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_DisableFastModePlus\n
405 * SYSCFG_CFGR1 I2C_FMP_I2C3 LL_SYSCFG_DisableFastModePlus\n
406 * @param ConfigFastModePlus This parameter can be a combination of the following values:
407 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
408 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
409 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
410 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
411 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9
412 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10
413 * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C3
414 * @retval None
415 */
LL_SYSCFG_DisableFastModePlus(uint32_t ConfigFastModePlus)416 __STATIC_INLINE void LL_SYSCFG_DisableFastModePlus(uint32_t ConfigFastModePlus)
417 {
418 CLEAR_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
419 }
420
421 /**
422 * @brief Check if Window watchdog interrupt occurred or not.
423 * @rmtoll SYSCFG_ITLINE0 SR_EWDG LL_SYSCFG_IsActiveFlag_WWDG
424 * @retval State of bit (1 or 0).
425 */
LL_SYSCFG_IsActiveFlag_WWDG(void)426 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_WWDG(void)
427 {
428 return ((READ_BIT(SYSCFG->IT_LINE_SR[0], SYSCFG_ITLINE0_SR_WWDG) == (SYSCFG_ITLINE0_SR_WWDG)) ? 1UL : 0UL);
429 }
430
431 /**
432 * @brief Check if PVD supply monitoring interrupt occurred or not (EXTI line 16).
433 * @rmtoll SYSCFG_ITLINE1 SR_PVDOUT LL_SYSCFG_IsActiveFlag_PVDOUT
434 * @retval State of bit (1 or 0).
435 */
LL_SYSCFG_IsActiveFlag_PVDOUT(void)436 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVDOUT(void)
437 {
438 return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVDOUT) == (SYSCFG_ITLINE1_SR_PVDOUT)) ? 1UL : 0UL);
439 }
440
441 #if defined(SYSCFG_ITLINE1_SR_PVMOUT1)
442 /**
443 * @brief Check if PVM supply monitoring interrupt occurred or not (EXTI line 19).
444 * @rmtoll SYSCFG_ITLINE1 SR_PVMOUT1 LL_SYSCFG_IsActiveFlag_PVMOUT1
445 * @retval State of bit (1 or 0).
446 */
LL_SYSCFG_IsActiveFlag_PVMOUT1(void)447 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVMOUT1(void)
448 {
449 return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVMOUT1) == (SYSCFG_ITLINE1_SR_PVMOUT1)) ? 1UL : 0UL);
450 }
451 #endif /* SYSCFG_ITLINE1_SR_PVMOUT1 */
452
453 /**
454 * @brief Check if PVM supply monitoring interrupt occurred or not (EXTI line 20).
455 * @rmtoll SYSCFG_ITLINE1 SR_PVMOUT3 LL_SYSCFG_IsActiveFlag_PVMOUT3
456 * @retval State of bit (1 or 0).
457 */
LL_SYSCFG_IsActiveFlag_PVMOUT3(void)458 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVMOUT3(void)
459 {
460 return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVMOUT3) == (SYSCFG_ITLINE1_SR_PVMOUT3)) ? 1UL : 0UL);
461 }
462
463 /**
464 * @brief Check if PVM supply monitoring interrupt occurred or not (EXTI line 21).
465 * @rmtoll SYSCFG_ITLINE1 SR_PVMOUT4 LL_SYSCFG_IsActiveFlag_PVMOUT4
466 * @retval State of bit (1 or 0).
467 */
LL_SYSCFG_IsActiveFlag_PVMOUT4(void)468 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVMOUT4(void)
469 {
470 return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVMOUT4) == (SYSCFG_ITLINE1_SR_PVMOUT4)) ? 1UL : 0UL);
471 }
472
473 /**
474 * @brief Check if RTC Wake Up interrupt occurred or not (EXTI line 19).
475 * @rmtoll SYSCFG_ITLINE2 SR_RTC_WAKEUP LL_SYSCFG_IsActiveFlag_RTC_WAKEUP
476 * @retval State of bit (1 or 0).
477 */
LL_SYSCFG_IsActiveFlag_RTC_WAKEUP(void)478 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RTC_WAKEUP(void)
479 {
480 return ((READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_RTC) == (SYSCFG_ITLINE2_SR_RTC)) ? 1UL : 0UL);
481 }
482
483 /**
484 * @brief Check if RTC Tamper and TimeStamp interrupt occurred or not (EXTI line 21).
485 * @rmtoll SYSCFG_ITLINE2 SR_TAMPER LL_SYSCFG_IsActiveFlag_TAMPER
486 * @retval State of bit (1 or 0).
487 */
LL_SYSCFG_IsActiveFlag_TAMPER(void)488 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TAMPER(void)
489 {
490 return ((READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_TAMPER) == (SYSCFG_ITLINE2_SR_TAMPER)) ? 1UL : 0UL);
491 }
492
493 /**
494 * @brief Check if Flash interface interrupt occurred or not.
495 * @rmtoll SYSCFG_ITLINE3 SR_FLASH_ITF LL_SYSCFG_IsActiveFlag_FLASH_ITF
496 * @retval State of bit (1 or 0).
497 */
LL_SYSCFG_IsActiveFlag_FLASH_ITF(void)498 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FLASH_ITF(void)
499 {
500 return ((READ_BIT(SYSCFG->IT_LINE_SR[3], SYSCFG_ITLINE3_SR_FLASH_ITF) == (SYSCFG_ITLINE3_SR_FLASH_ITF)) ? 1UL : 0UL);
501 }
502
503 /**
504 * @brief Check if Flash interface interrupt occurred or not.
505 * @rmtoll SYSCFG_ITLINE3 SR_FLASH_ECC LL_SYSCFG_IsActiveFlag_FLASH_ECC
506 * @retval State of bit (1 or 0).
507 */
LL_SYSCFG_IsActiveFlag_FLASH_ECC(void)508 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FLASH_ECC(void)
509 {
510 return ((READ_BIT(SYSCFG->IT_LINE_SR[3], SYSCFG_ITLINE3_SR_FLASH_ECC) == (SYSCFG_ITLINE3_SR_FLASH_ECC)) ? 1UL : 0UL);
511 }
512
513 /**
514 * @brief Check if Reset and clock control interrupt occurred or not.
515 * @rmtoll SYSCFG_ITLINE4 SR_CLK_CTRL LL_SYSCFG_IsActiveFlag_CLK_CTRL
516 * @retval State of bit (1 or 0).
517 */
LL_SYSCFG_IsActiveFlag_CLK_CTRL(void)518 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CLK_CTRL(void)
519 {
520 return ((READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_RCC) == (SYSCFG_ITLINE4_SR_RCC)) ? 1UL : 0UL);
521 }
522 #if defined(CRS)
523 /**
524 * @brief Check if Reset and clock control interrupt occurred or not.
525 * @rmtoll SYSCFG_ITLINE4 SR_CRS LL_SYSCFG_IsActiveFlag_CRS
526 * @retval State of bit (1 or 0).
527 */
LL_SYSCFG_IsActiveFlag_CRS(void)528 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CRS(void)
529 {
530 return ((READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_CRS) == (SYSCFG_ITLINE4_SR_CRS)) ? 1UL : 0UL);
531 }
532 #endif /* CRS */
533 /**
534 * @brief Check if EXTI line 0 interrupt occurred or not.
535 * @rmtoll SYSCFG_ITLINE5 SR_EXTI0 LL_SYSCFG_IsActiveFlag_EXTI0
536 * @retval State of bit (1 or 0).
537 */
LL_SYSCFG_IsActiveFlag_EXTI0(void)538 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI0(void)
539 {
540 return ((READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI0) == (SYSCFG_ITLINE5_SR_EXTI0)) ? 1UL : 0UL);
541 }
542
543 /**
544 * @brief Check if EXTI line 1 interrupt occurred or not.
545 * @rmtoll SYSCFG_ITLINE5 SR_EXTI1 LL_SYSCFG_IsActiveFlag_EXTI1
546 * @retval State of bit (1 or 0).
547 */
LL_SYSCFG_IsActiveFlag_EXTI1(void)548 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI1(void)
549 {
550 return ((READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI1) == (SYSCFG_ITLINE5_SR_EXTI1)) ? 1UL : 0UL);
551 }
552
553 /**
554 * @brief Check if EXTI line 2 interrupt occurred or not.
555 * @rmtoll SYSCFG_ITLINE6 SR_EXTI2 LL_SYSCFG_IsActiveFlag_EXTI2
556 * @retval State of bit (1 or 0).
557 */
LL_SYSCFG_IsActiveFlag_EXTI2(void)558 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI2(void)
559 {
560 return ((READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI2) == (SYSCFG_ITLINE6_SR_EXTI2)) ? 1UL : 0UL);
561 }
562
563 /**
564 * @brief Check if EXTI line 3 interrupt occurred or not.
565 * @rmtoll SYSCFG_ITLINE6 SR_EXTI3 LL_SYSCFG_IsActiveFlag_EXTI3
566 * @retval State of bit (1 or 0).
567 */
LL_SYSCFG_IsActiveFlag_EXTI3(void)568 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI3(void)
569 {
570 return ((READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI3) == (SYSCFG_ITLINE6_SR_EXTI3)) ? 1UL : 0UL);
571 }
572
573 /**
574 * @brief Check if EXTI line 4 interrupt occurred or not.
575 * @rmtoll SYSCFG_ITLINE7 SR_EXTI4 LL_SYSCFG_IsActiveFlag_EXTI4
576 * @retval State of bit (1 or 0).
577 */
LL_SYSCFG_IsActiveFlag_EXTI4(void)578 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI4(void)
579 {
580 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI4) == (SYSCFG_ITLINE7_SR_EXTI4)) ? 1UL : 0UL);
581 }
582
583 /**
584 * @brief Check if EXTI line 5 interrupt occurred or not.
585 * @rmtoll SYSCFG_ITLINE7 SR_EXTI5 LL_SYSCFG_IsActiveFlag_EXTI5
586 * @retval State of bit (1 or 0).
587 */
LL_SYSCFG_IsActiveFlag_EXTI5(void)588 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI5(void)
589 {
590 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI5) == (SYSCFG_ITLINE7_SR_EXTI5)) ? 1UL : 0UL);
591 }
592
593 /**
594 * @brief Check if EXTI line 6 interrupt occurred or not.
595 * @rmtoll SYSCFG_ITLINE7 SR_EXTI6 LL_SYSCFG_IsActiveFlag_EXTI6
596 * @retval State of bit (1 or 0).
597 */
LL_SYSCFG_IsActiveFlag_EXTI6(void)598 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI6(void)
599 {
600 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI6) == (SYSCFG_ITLINE7_SR_EXTI6)) ? 1UL : 0UL);
601 }
602
603 /**
604 * @brief Check if EXTI line 7 interrupt occurred or not.
605 * @rmtoll SYSCFG_ITLINE7 SR_EXTI7 LL_SYSCFG_IsActiveFlag_EXTI7
606 * @retval State of bit (1 or 0).
607 */
LL_SYSCFG_IsActiveFlag_EXTI7(void)608 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI7(void)
609 {
610 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI7) == (SYSCFG_ITLINE7_SR_EXTI7)) ? 1UL : 0UL);
611 }
612
613 /**
614 * @brief Check if EXTI line 8 interrupt occurred or not.
615 * @rmtoll SYSCFG_ITLINE7 SR_EXTI8 LL_SYSCFG_IsActiveFlag_EXTI8
616 * @retval State of bit (1 or 0).
617 */
LL_SYSCFG_IsActiveFlag_EXTI8(void)618 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI8(void)
619 {
620 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI8) == (SYSCFG_ITLINE7_SR_EXTI8)) ? 1UL : 0UL);
621 }
622
623 /**
624 * @brief Check if EXTI line 9 interrupt occurred or not.
625 * @rmtoll SYSCFG_ITLINE7 SR_EXTI9 LL_SYSCFG_IsActiveFlag_EXTI9
626 * @retval State of bit (1 or 0).
627 */
LL_SYSCFG_IsActiveFlag_EXTI9(void)628 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI9(void)
629 {
630 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI9) == (SYSCFG_ITLINE7_SR_EXTI9)) ? 1UL : 0UL);
631 }
632
633 /**
634 * @brief Check if EXTI line 10 interrupt occurred or not.
635 * @rmtoll SYSCFG_ITLINE7 SR_EXTI10 LL_SYSCFG_IsActiveFlag_EXTI10
636 * @retval State of bit (1 or 0).
637 */
LL_SYSCFG_IsActiveFlag_EXTI10(void)638 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI10(void)
639 {
640 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI10) == (SYSCFG_ITLINE7_SR_EXTI10)) ? 1UL : 0UL);
641 }
642
643 /**
644 * @brief Check if EXTI line 11 interrupt occurred or not.
645 * @rmtoll SYSCFG_ITLINE7 SR_EXTI11 LL_SYSCFG_IsActiveFlag_EXTI11
646 * @retval State of bit (1 or 0).
647 */
LL_SYSCFG_IsActiveFlag_EXTI11(void)648 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI11(void)
649 {
650 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI11) == (SYSCFG_ITLINE7_SR_EXTI11)) ? 1UL : 0UL);
651 }
652
653 /**
654 * @brief Check if EXTI line 12 interrupt occurred or not.
655 * @rmtoll SYSCFG_ITLINE7 SR_EXTI12 LL_SYSCFG_IsActiveFlag_EXTI12
656 * @retval State of bit (1 or 0).
657 */
LL_SYSCFG_IsActiveFlag_EXTI12(void)658 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI12(void)
659 {
660 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI12) == (SYSCFG_ITLINE7_SR_EXTI12)) ? 1UL : 0UL);
661 }
662
663 /**
664 * @brief Check if EXTI line 13 interrupt occurred or not.
665 * @rmtoll SYSCFG_ITLINE7 SR_EXTI13 LL_SYSCFG_IsActiveFlag_EXTI13
666 * @retval State of bit (1 or 0).
667 */
LL_SYSCFG_IsActiveFlag_EXTI13(void)668 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI13(void)
669 {
670 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI13) == (SYSCFG_ITLINE7_SR_EXTI13)) ? 1UL : 0UL);
671 }
672
673 /**
674 * @brief Check if EXTI line 14 interrupt occurred or not.
675 * @rmtoll SYSCFG_ITLINE7 SR_EXTI14 LL_SYSCFG_IsActiveFlag_EXTI14
676 * @retval State of bit (1 or 0).
677 */
LL_SYSCFG_IsActiveFlag_EXTI14(void)678 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI14(void)
679 {
680 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI14) == (SYSCFG_ITLINE7_SR_EXTI14)) ? 1UL : 0UL);
681 }
682
683 /**
684 * @brief Check if EXTI line 15 interrupt occurred or not.
685 * @rmtoll SYSCFG_ITLINE7 SR_EXTI15 LL_SYSCFG_IsActiveFlag_EXTI15
686 * @retval State of bit (1 or 0).
687 */
LL_SYSCFG_IsActiveFlag_EXTI15(void)688 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI15(void)
689 {
690 return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI15) == (SYSCFG_ITLINE7_SR_EXTI15)) ? 1UL : 0UL);
691 }
692
693 #if defined(SYSCFG_ITLINE8_SR_USBFS)
694 /**
695 * @brief Check if EXTI USB interrupt occurred or not.
696 * @rmtoll SYSCFG_ITLINE8 SR_USB LL_SYSCFG_IsActiveFlag_USB
697 * @retval State of bit (1 or 0).
698 */
LL_SYSCFG_IsActiveFlag_USB(void)699 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USB(void)
700 {
701 return ((READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_USBFS) == (SYSCFG_ITLINE8_SR_USBFS)) ? 1UL : 0UL);
702 }
703 #endif /* SYSCFG_ITLINE8_SR_USBFS */
704
705 /**
706 * @brief Check if DMA1 channel 1 interrupt occurred or not.
707 * @rmtoll SYSCFG_ITLINE9 SR_DMA1_CH1 LL_SYSCFG_IsActiveFlag_DMA1_CH1
708 * @retval State of bit (1 or 0).
709 */
LL_SYSCFG_IsActiveFlag_DMA1_CH1(void)710 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH1(void)
711 {
712 return ((READ_BIT(SYSCFG->IT_LINE_SR[9], SYSCFG_ITLINE9_SR_DMA1_CH1) == (SYSCFG_ITLINE9_SR_DMA1_CH1)) ? 1UL : 0UL);
713 }
714
715 /**
716 * @brief Check if DMA1 channel 2 interrupt occurred or not.
717 * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH2 LL_SYSCFG_IsActiveFlag_DMA1_CH2
718 * @retval State of bit (1 or 0).
719 */
LL_SYSCFG_IsActiveFlag_DMA1_CH2(void)720 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH2(void)
721 {
722 return ((READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH2) == (SYSCFG_ITLINE10_SR_DMA1_CH2)) ? 1UL : 0UL);
723 }
724
725 /**
726 * @brief Check if DMA1 channel 3 interrupt occurred or not.
727 * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH3 LL_SYSCFG_IsActiveFlag_DMA1_CH3
728 * @retval State of bit (1 or 0).
729 */
LL_SYSCFG_IsActiveFlag_DMA1_CH3(void)730 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH3(void)
731 {
732 return ((READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH3) == (SYSCFG_ITLINE10_SR_DMA1_CH3)) ? 1UL : 0UL);
733 }
734
735 /**
736 * @brief Check if DMA1 channel 4 interrupt occurred or not.
737 * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH4 LL_SYSCFG_IsActiveFlag_DMA1_CH4
738 * @retval State of bit (1 or 0).
739 */
LL_SYSCFG_IsActiveFlag_DMA1_CH4(void)740 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH4(void)
741 {
742 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH4) == (SYSCFG_ITLINE11_SR_DMA1_CH4)) ? 1UL : 0UL);
743 }
744
745 /**
746 * @brief Check if DMA1 channel 5 interrupt occurred or not.
747 * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH5 LL_SYSCFG_IsActiveFlag_DMA1_CH5
748 * @retval State of bit (1 or 0).
749 */
LL_SYSCFG_IsActiveFlag_DMA1_CH5(void)750 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH5(void)
751 {
752 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH5) == (SYSCFG_ITLINE11_SR_DMA1_CH5)) ? 1UL : 0UL);
753 }
754
755 /**
756 * @brief Check if DMA1 channel 6 interrupt occurred or not.
757 * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH6 LL_SYSCFG_IsActiveFlag_DMA1_CH6
758 * @retval State of bit (1 or 0).
759 */
LL_SYSCFG_IsActiveFlag_DMA1_CH6(void)760 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH6(void)
761 {
762 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH6) == (SYSCFG_ITLINE11_SR_DMA1_CH6)) ? 1UL : 0UL);
763 }
764
765 /**
766 * @brief Check if DMA1 channel 7 interrupt occurred or not.
767 * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH7 LL_SYSCFG_IsActiveFlag_DMA1_CH7
768 * @retval State of bit (1 or 0).
769 */
LL_SYSCFG_IsActiveFlag_DMA1_CH7(void)770 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH7(void)
771 {
772 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH7) == (SYSCFG_ITLINE11_SR_DMA1_CH7)) ? 1UL : 0UL);
773 }
774
775 /**
776 * @brief Check if DMAMUX interrupt occurred or not.
777 * @rmtoll SYSCFG_ITLINE11 SR_DMAMUX1 LL_SYSCFG_IsActiveFlag_DMAMUX
778 * @retval State of bit (1 or 0).
779 */
LL_SYSCFG_IsActiveFlag_DMAMUX(void)780 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMAMUX(void)
781 {
782 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMAMUX) == (SYSCFG_ITLINE11_SR_DMAMUX)) ? 1UL : 0UL);
783 }
784
785 #if defined(DMA2)
786 /**
787 * @brief Check if DMA2 channel 1 interrupt occurred or not.
788 * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH1 LL_SYSCFG_IsActiveFlag_DMA2_CH1
789 * @retval State of bit (1 or 0).
790 */
LL_SYSCFG_IsActiveFlag_DMA2_CH1(void)791 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH1(void)
792 {
793 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH1) == (SYSCFG_ITLINE11_SR_DMA2_CH1)) ? 1UL : 0UL);
794 }
795
796 /**
797 * @brief Check if DMA2 channel 2 interrupt occurred or not.
798 * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH2 LL_SYSCFG_IsActiveFlag_DMA2_CH2
799 * @retval State of bit (1 or 0).
800 */
LL_SYSCFG_IsActiveFlag_DMA2_CH2(void)801 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH2(void)
802 {
803 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH2) == (SYSCFG_ITLINE11_SR_DMA2_CH2)) ? 1UL : 0UL);
804 }
805
806 /**
807 * @brief Check if DMA2 channel 3 interrupt occurred or not.
808 * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH3 LL_SYSCFG_IsActiveFlag_DMA2_CH3
809 * @retval State of bit (1 or 0).
810 */
LL_SYSCFG_IsActiveFlag_DMA2_CH3(void)811 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH3(void)
812 {
813 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH3) == (SYSCFG_ITLINE11_SR_DMA2_CH3)) ? 1UL : 0UL);
814 }
815
816 /**
817 * @brief Check if DMA2 channel 4 interrupt occurred or not.
818 * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH4 LL_SYSCFG_IsActiveFlag_DMA2_CH4
819 * @retval State of bit (1 or 0).
820 */
LL_SYSCFG_IsActiveFlag_DMA2_CH4(void)821 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH4(void)
822 {
823 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH4) == (SYSCFG_ITLINE11_SR_DMA2_CH4)) ? 1UL : 0UL);
824 }
825
826 /**
827 * @brief Check if DMA2 channel 5 interrupt occurred or not.
828 * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH5 LL_SYSCFG_IsActiveFlag_DMA2_CH5
829 * @retval State of bit (1 or 0).
830 */
LL_SYSCFG_IsActiveFlag_DMA2_CH5(void)831 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH5(void)
832 {
833 return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH5) == (SYSCFG_ITLINE11_SR_DMA2_CH5)) ? 1UL : 0UL);
834 }
835 #endif /* DMA2 */
836
837 /**
838 * @brief Check if ADC interrupt occurred or not.
839 * @rmtoll SYSCFG_ITLINE12 SR_ADC LL_SYSCFG_IsActiveFlag_ADC
840 * @retval State of bit (1 or 0).
841 */
LL_SYSCFG_IsActiveFlag_ADC(void)842 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_ADC(void)
843 {
844 return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_ADC) == (SYSCFG_ITLINE12_SR_ADC)) ? 1UL : 0UL);
845 }
846
847 /**
848 * @brief Check if Comparator 1 interrupt occurred or not (EXTI line 17).
849 * @rmtoll SYSCFG_ITLINE12 SR_COMP1 LL_SYSCFG_IsActiveFlag_COMP1
850 * @retval State of bit (1 or 0).
851 */
LL_SYSCFG_IsActiveFlag_COMP1(void)852 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP1(void)
853 {
854 return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP1) == (SYSCFG_ITLINE12_SR_COMP1)) ? 1UL : 0UL);
855 }
856
857 #if defined(SYSCFG_ITLINE12_SR_COMP2)
858 /**
859 * @brief Check if Comparator 2 interrupt occurred or not (EXTI line 18).
860 * @rmtoll SYSCFG_ITLINE12 SR_COMP2 LL_SYSCFG_IsActiveFlag_COMP2
861 * @retval State of bit (1 or 0).
862 */
LL_SYSCFG_IsActiveFlag_COMP2(void)863 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP2(void)
864 {
865 return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP2) == (SYSCFG_ITLINE12_SR_COMP2)) ? 1UL : 0UL);
866 }
867 #endif /* SYSCFG_ITLINE12_SR_COMP2 */
868
869 /**
870 * @brief Check if Timer 1 break interrupt occurred or not.
871 * @rmtoll SYSCFG_ITLINE13 SR_TIM1_BRK LL_SYSCFG_IsActiveFlag_TIM1_BRK
872 * @retval State of bit (1 or 0).
873 */
LL_SYSCFG_IsActiveFlag_TIM1_BRK(void)874 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_BRK(void)
875 {
876 return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_BRK) == (SYSCFG_ITLINE13_SR_TIM1_BRK)) ? 1UL : 0UL);
877 }
878
879 /**
880 * @brief Check if Timer 1 update interrupt occurred or not.
881 * @rmtoll SYSCFG_ITLINE13 SR_TIM1_UPD LL_SYSCFG_IsActiveFlag_TIM1_UPD
882 * @retval State of bit (1 or 0).
883 */
LL_SYSCFG_IsActiveFlag_TIM1_UPD(void)884 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_UPD(void)
885 {
886 return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_UPD) == (SYSCFG_ITLINE13_SR_TIM1_UPD)) ? 1UL : 0UL);
887 }
888
889 /**
890 * @brief Check if Timer 1 trigger interrupt occurred or not.
891 * @rmtoll SYSCFG_ITLINE13 SR_TIM1_TRG LL_SYSCFG_IsActiveFlag_TIM1_TRG
892 * @retval State of bit (1 or 0).
893 */
LL_SYSCFG_IsActiveFlag_TIM1_TRG(void)894 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_TRG(void)
895 {
896 return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_TRG) == (SYSCFG_ITLINE13_SR_TIM1_TRG)) ? 1UL : 0UL);
897 }
898
899 /**
900 * @brief Check if Timer 1 commutation interrupt occurred or not.
901 * @rmtoll SYSCFG_ITLINE13 SR_TIM1_CCU LL_SYSCFG_IsActiveFlag_TIM1_CCU
902 * @retval State of bit (1 or 0).
903 */
LL_SYSCFG_IsActiveFlag_TIM1_CCU(void)904 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CCU(void)
905 {
906 return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_CCU) == (SYSCFG_ITLINE13_SR_TIM1_CCU)) ? 1UL : 0UL);
907 }
908
909 /**
910 * @brief Check if Timer 1 capture compare interrupt occurred or not.
911 * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC LL_SYSCFG_IsActiveFlag_TIM1_CC
912 * @retval State of bit (1 or 0).
913 */
LL_SYSCFG_IsActiveFlag_TIM1_CC1(void)914 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC1(void)
915 {
916 return ((READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC1) == (SYSCFG_ITLINE14_SR_TIM1_CC1)) ? 1UL : 0UL);
917 }
918
919 /**
920 * @brief Check if Timer 1 capture compare interrupt occurred or not.
921 * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC2 LL_SYSCFG_IsActiveFlag_TIM1_CC2
922 * @retval State of bit (1 or 0).
923 */
LL_SYSCFG_IsActiveFlag_TIM1_CC2(void)924 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC2(void)
925 {
926 return ((READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC2) == (SYSCFG_ITLINE14_SR_TIM1_CC2)) ? 1UL : 0UL);
927 }
928
929 /**
930 * @brief Check if Timer 1 capture compare interrupt occurred or not.
931 * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC3 LL_SYSCFG_IsActiveFlag_TIM1_CC3
932 * @retval State of bit (1 or 0).
933 */
LL_SYSCFG_IsActiveFlag_TIM1_CC3(void)934 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC3(void)
935 {
936 return ((READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC3) == (SYSCFG_ITLINE14_SR_TIM1_CC3)) ? 1UL : 0UL);
937 }
938
939 /**
940 * @brief Check if Timer 1 capture compare interrupt occurred or not.
941 * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC4 LL_SYSCFG_IsActiveFlag_TIM1_CC4
942 * @retval State of bit (1 or 0).
943 */
LL_SYSCFG_IsActiveFlag_TIM1_CC4(void)944 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC4(void)
945 {
946 return ((READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC4) == (SYSCFG_ITLINE14_SR_TIM1_CC4)) ? 1UL : 0UL);
947 }
948
949 /**
950 * @brief Check if Timer 2 interrupt occurred or not.
951 * @rmtoll SYSCFG_ITLINE15 SR_TIM2_GLB LL_SYSCFG_IsActiveFlag_TIM2
952 * @retval State of bit (1 or 0).
953 */
LL_SYSCFG_IsActiveFlag_TIM2(void)954 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM2(void)
955 {
956 return ((READ_BIT(SYSCFG->IT_LINE_SR[15], SYSCFG_ITLINE15_SR_TIM2) == (SYSCFG_ITLINE15_SR_TIM2)) ? 1UL : 0UL);
957 }
958
959 /**
960 * @brief Check if Timer 3 interrupt occurred or not.
961 * @rmtoll SYSCFG_ITLINE16 SR_TIM3_GLB LL_SYSCFG_IsActiveFlag_TIM3
962 * @retval State of bit (1 or 0).
963 */
LL_SYSCFG_IsActiveFlag_TIM3(void)964 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM3(void)
965 {
966 return ((READ_BIT(SYSCFG->IT_LINE_SR[16], SYSCFG_ITLINE16_SR_TIM3) == (SYSCFG_ITLINE16_SR_TIM3)) ? 1UL : 0UL);
967 }
968
969 /**
970 * @brief Check if DAC underrun interrupt occurred or not.
971 * @rmtoll SYSCFG_ITLINE17 SR_DAC LL_SYSCFG_IsActiveFlag_DAC
972 * @retval State of bit (1 or 0).
973 */
LL_SYSCFG_IsActiveFlag_DAC(void)974 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DAC(void)
975 {
976 return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_DAC) == (SYSCFG_ITLINE17_SR_DAC)) ? 1UL : 0UL);
977 }
978
979 /**
980 * @brief Check if Timer 6 interrupt occurred or not.
981 * @rmtoll SYSCFG_ITLINE17 SR_TIM6_GLB LL_SYSCFG_IsActiveFlag_TIM6
982 * @retval State of bit (1 or 0).
983 */
LL_SYSCFG_IsActiveFlag_TIM6(void)984 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM6(void)
985 {
986 return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_TIM6) == (SYSCFG_ITLINE17_SR_TIM6)) ? 1UL : 0UL);
987 }
988
989 /**
990 * @brief Check if LPTIM1 interrupt occurred or not.
991 * @rmtoll SYSCFG_ITLINE17 SR_LPTIM1_GLB LL_SYSCFG_IsActiveFlag_LPTIM1
992 * @retval State of bit (1 or 0).
993 */
LL_SYSCFG_IsActiveFlag_LPTIM1(void)994 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPTIM1(void)
995 {
996 return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_LPTIM1) == (SYSCFG_ITLINE17_SR_LPTIM1)) ? 1UL : 0UL);
997 }
998
999 /**
1000 * @brief Check if Timer 7 interrupt occurred or not.
1001 * @rmtoll SYSCFG_ITLINE18 SR_TIM7_GLB LL_SYSCFG_IsActiveFlag_TIM7
1002 * @retval State of bit (1 or 0).
1003 */
LL_SYSCFG_IsActiveFlag_TIM7(void)1004 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM7(void)
1005 {
1006 return ((READ_BIT(SYSCFG->IT_LINE_SR[18], SYSCFG_ITLINE18_SR_TIM7) == (SYSCFG_ITLINE18_SR_TIM7)) ? 1UL : 0UL);
1007 }
1008
1009 /**
1010 * @brief Check if LPTIM2 interrupt occurred or not.
1011 * @rmtoll SYSCFG_ITLINE18 SR_LPTIM2_GLB LL_SYSCFG_IsActiveFlag_LPTIM2
1012 * @retval State of bit (1 or 0).
1013 */
LL_SYSCFG_IsActiveFlag_LPTIM2(void)1014 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPTIM2(void)
1015 {
1016 return ((READ_BIT(SYSCFG->IT_LINE_SR[18], SYSCFG_ITLINE18_SR_LPTIM2) == (SYSCFG_ITLINE18_SR_LPTIM2)) ? 1UL : 0UL);
1017 }
1018
1019 /**
1020 * @brief Check if Timer 15 interrupt occurred or not.
1021 * @rmtoll SYSCFG_ITLINE19 SR_TIM15_GLB LL_SYSCFG_IsActiveFlag_TIM15
1022 * @retval State of bit (1 or 0).
1023 */
LL_SYSCFG_IsActiveFlag_TIM15(void)1024 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM15(void)
1025 {
1026 return ((READ_BIT(SYSCFG->IT_LINE_SR[19], SYSCFG_ITLINE19_SR_TIM15) == (SYSCFG_ITLINE19_SR_TIM15)) ? 1UL : 0UL);
1027 }
1028
1029 #if defined(SYSCFG_ITLINE19_SR_LPTIM3)
1030 /**
1031 * @brief Check if LPTIM3 interrupt occurred or not.
1032 * @rmtoll SYSCFG_ITLINE19 SR_LPTIM3_GLB LL_SYSCFG_IsActiveFlag_LPTIM3
1033 * @retval State of bit (1 or 0).
1034 */
LL_SYSCFG_IsActiveFlag_LPTIM3(void)1035 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPTIM3(void)
1036 {
1037 return ((READ_BIT(SYSCFG->IT_LINE_SR[19], SYSCFG_ITLINE19_SR_LPTIM3) == (SYSCFG_ITLINE19_SR_LPTIM3)) ? 1UL : 0UL);
1038 }
1039 #endif /* SYSCFG_ITLINE19_SR_LPTIM3_GLB */
1040
1041 /**
1042 * @brief Check if Timer 16 interrupt occurred or not.
1043 * @rmtoll SYSCFG_ITLINE20 SR_TIM15_GLB LL_SYSCFG_IsActiveFlag_TIM16
1044 * @retval State of bit (1 or 0).
1045 */
LL_SYSCFG_IsActiveFlag_TIM16(void)1046 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM16(void)
1047 {
1048 return ((READ_BIT(SYSCFG->IT_LINE_SR[20], SYSCFG_ITLINE20_SR_TIM16) == (SYSCFG_ITLINE20_SR_TIM16)) ? 1UL : 0UL);
1049 }
1050
1051 /**
1052 * @brief Check if TSC interrupt occurred or not.
1053 * @rmtoll SYSCFG_ITLINE21 SR_TSC_MCE LL_SYSCFG_IsActiveFlag_TSC_MCE
1054 * @retval State of bit (1 or 0).
1055 */
LL_SYSCFG_IsActiveFlag_TSC_MCE(void)1056 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TSC_MCE(void)
1057 {
1058 return ((READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_TSC_MCE) == (SYSCFG_ITLINE21_SR_TSC_MCE)) ? 1UL : 0UL);
1059 }
1060
1061 /**
1062 * @brief Check if TSC interrupt occurred or not.
1063 * @rmtoll SYSCFG_ITLINE21 SR_TSC_EOA LL_SYSCFG_IsActiveFlag_TSC_EOA
1064 * @retval State of bit (1 or 0).
1065 */
LL_SYSCFG_IsActiveFlag_TSC_EOA(void)1066 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TSC_EOA(void)
1067 {
1068 return ((READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_TSC_EOA) == (SYSCFG_ITLINE21_SR_TSC_EOA)) ? 1UL : 0UL);
1069 }
1070
1071 #if defined(SYSCFG_ITLINE22_SR_LCD)
1072 /**
1073 * @brief Check if TSC interrupt occurred or not.
1074 * @rmtoll SYSCFG_ITLINE22 SR_LCD LL_SYSCFG_IsActiveFlag_LCD
1075 * @retval State of bit (1 or 0).
1076 */
LL_SYSCFG_IsActiveFlag_LCD(void)1077 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LCD(void)
1078 {
1079 return ((READ_BIT(SYSCFG->IT_LINE_SR[22], SYSCFG_ITLINE22_SR_LCD) == (SYSCFG_ITLINE22_SR_LCD)) ? 1UL : 0UL);
1080 }
1081 #endif /* SYSCFG_ITLINE21_SR_LCD */
1082
1083 /**
1084 * @brief Check if I2C1 interrupt occurred or not, combined with EXTI line 33.
1085 * @rmtoll SYSCFG_ITLINE23 SR_I2C1_GLB LL_SYSCFG_IsActiveFlag_I2C1
1086 * @retval State of bit (1 or 0).
1087 */
LL_SYSCFG_IsActiveFlag_I2C1(void)1088 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C1(void)
1089 {
1090 return ((READ_BIT(SYSCFG->IT_LINE_SR[23], SYSCFG_ITLINE23_SR_I2C1) == (SYSCFG_ITLINE23_SR_I2C1)) ? 1UL : 0UL);
1091 }
1092
1093 /**
1094 * @brief Check if I2C2 interrupt occurred or not.
1095 * @rmtoll SYSCFG_ITLINE24 SR_I2C2_GLB LL_SYSCFG_IsActiveFlag_I2C2
1096 * @retval State of bit (1 or 0).
1097 */
LL_SYSCFG_IsActiveFlag_I2C2(void)1098 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C2(void)
1099 {
1100 return ((READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C2) == (SYSCFG_ITLINE24_SR_I2C2)) ? 1UL : 0UL);
1101 }
1102
1103 /**
1104 * @brief Check if I2C3 interrupt occurred or not.
1105 * @rmtoll SYSCFG_ITLINE24 SR_I2C3_GLB LL_SYSCFG_IsActiveFlag_I2C3
1106 * @retval State of bit (1 or 0).
1107 */
LL_SYSCFG_IsActiveFlag_I2C3(void)1108 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C3(void)
1109 {
1110 return ((READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C3) == (SYSCFG_ITLINE24_SR_I2C3)) ? 1UL : 0UL);
1111 }
1112
1113 /**
1114 * @brief Check if I2C4 interrupt occurred or not.
1115 * @rmtoll SYSCFG_ITLINE24 SR_I2C4_GLB LL_SYSCFG_IsActiveFlag_I2C4
1116 * @retval State of bit (1 or 0).
1117 */
LL_SYSCFG_IsActiveFlag_I2C4(void)1118 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C4(void)
1119 {
1120 return ((READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C4) == (SYSCFG_ITLINE24_SR_I2C4)) ? 1UL : 0UL);
1121 }
1122
1123 /**
1124 * @brief Check if SPI1 interrupt occurred or not.
1125 * @rmtoll SYSCFG_ITLINE25 SR_SPI1 LL_SYSCFG_IsActiveFlag_SPI1
1126 * @retval State of bit (1 or 0).
1127 */
LL_SYSCFG_IsActiveFlag_SPI1(void)1128 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI1(void)
1129 {
1130 return ((READ_BIT(SYSCFG->IT_LINE_SR[25], SYSCFG_ITLINE25_SR_SPI1) == (SYSCFG_ITLINE25_SR_SPI1)) ? 1UL : 0UL);
1131 }
1132
1133 /**
1134 * @brief Check if SPI2 interrupt occurred or not.
1135 * @rmtoll SYSCFG_ITLINE26 SR_SPI2 LL_SYSCFG_IsActiveFlag_SPI2
1136 * @retval State of bit (1 or 0).
1137 */
LL_SYSCFG_IsActiveFlag_SPI2(void)1138 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI2(void)
1139 {
1140 return ((READ_BIT(SYSCFG->IT_LINE_SR[26], SYSCFG_ITLINE26_SR_SPI2) == (SYSCFG_ITLINE26_SR_SPI2)) ? 1UL : 0UL);
1141 }
1142
1143 #if defined(SPI3)
1144 /**
1145 * @brief Check if SPI2 interrupt occurred or not.
1146 * @rmtoll SYSCFG_ITLINE26 SR_SPI3 LL_SYSCFG_IsActiveFlag_SPI3
1147 * @retval State of bit (1 or 0).
1148 */
LL_SYSCFG_IsActiveFlag_SPI3(void)1149 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI3(void)
1150 {
1151 return ((READ_BIT(SYSCFG->IT_LINE_SR[26], SYSCFG_ITLINE26_SR_SPI3) == (SYSCFG_ITLINE26_SR_SPI3)) ? 1UL : 0UL);
1152 }
1153 #endif /* SPI3 */
1154
1155 /**
1156 * @brief Check if USART1 interrupt occurred or not, combined with EXTI line 25.
1157 * @rmtoll SYSCFG_ITLINE27 SR_USART1_GLB LL_SYSCFG_IsActiveFlag_USART1
1158 * @retval State of bit (1 or 0).
1159 */
LL_SYSCFG_IsActiveFlag_USART1(void)1160 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART1(void)
1161 {
1162 return ((READ_BIT(SYSCFG->IT_LINE_SR[27], SYSCFG_ITLINE27_SR_USART1) == (SYSCFG_ITLINE27_SR_USART1)) ? 1UL : 0UL);
1163 }
1164
1165 /**
1166 * @brief Check if USART2 interrupt occurred or not, combined with EXTI line 35.
1167 * @rmtoll SYSCFG_ITLINE28 SR_USART2 LL_SYSCFG_IsActiveFlag_USART2
1168 * @retval State of bit (1 or 0).
1169 */
LL_SYSCFG_IsActiveFlag_USART2(void)1170 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART2(void)
1171 {
1172 return ((READ_BIT(SYSCFG->IT_LINE_SR[28], SYSCFG_ITLINE28_SR_USART2) == (SYSCFG_ITLINE28_SR_USART2)) ? 1UL : 0UL);
1173 }
1174
1175 /**
1176 * @brief Check if LPUART2 interrupt occurred or not, combined with EXTI line 31.
1177 * @rmtoll SYSCFG_ITLINE28 SR_LPUART2 LL_SYSCFG_IsActiveFlag_LPUART2
1178 * @retval State of bit (1 or 0).
1179 */
LL_SYSCFG_IsActiveFlag_LPUART2(void)1180 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPUART2(void)
1181 {
1182 return ((READ_BIT(SYSCFG->IT_LINE_SR[28], SYSCFG_ITLINE28_SR_LPUART2) == (SYSCFG_ITLINE28_SR_LPUART2)) ? 1UL : 0UL);
1183 }
1184
1185 /**
1186 * @brief Check if USART3 interrupt occurred or not, combined with EXTI line 29.
1187 * @rmtoll SYSCFG_ITLINE29 SR_USART3_GLB LL_SYSCFG_IsActiveFlag_USART3
1188 * @retval State of bit (1 or 0).
1189 */
LL_SYSCFG_IsActiveFlag_USART3(void)1190 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART3(void)
1191 {
1192 return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART3) == (SYSCFG_ITLINE29_SR_USART3)) ? 1UL : 0UL);
1193 }
1194
1195 /**
1196 * @brief Check if LPUART1 interrupt occurred or not, combined with EXTI line 30.
1197 * @rmtoll SYSCFG_ITLINE29 SR_LPUART1_GLB LL_SYSCFG_IsActiveFlag_LPUART1
1198 * @retval State of bit (1 or 0).
1199 */
LL_SYSCFG_IsActiveFlag_LPUART1(void)1200 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPUART1(void)
1201 {
1202 return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_LPUART1) == (SYSCFG_ITLINE29_SR_LPUART1)) ? 1UL : 0UL);
1203 }
1204
1205 /**
1206 * @brief Check if USART4 interrupt occurred or not.
1207 * @rmtoll SYSCFG_ITLINE29 SR_USART4 LL_SYSCFG_IsActiveFlag_USART4
1208 * @retval State of bit (1 or 0).
1209 */
LL_SYSCFG_IsActiveFlag_USART4(void)1210 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART4(void)
1211 {
1212 return ((READ_BIT(SYSCFG->IT_LINE_SR[30], SYSCFG_ITLINE30_SR_USART4) == (SYSCFG_ITLINE30_SR_USART4)) ? 1UL : 0UL);
1213 }
1214
1215 #if defined(SYSCFG_ITLINE30_SR_LPUART3)
1216 /**
1217 * @brief Check if LPUART1 interrupt occurred or not, combined with EXTI line 32.
1218 * @rmtoll SYSCFG_ITLINE30 SR_LPUART3_GLB LL_SYSCFG_IsActiveFlag_LPUART3
1219 * @retval State of bit (1 or 0).
1220 */
LL_SYSCFG_IsActiveFlag_LPUART3(void)1221 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPUART3(void)
1222 {
1223 return ((READ_BIT(SYSCFG->IT_LINE_SR[30], SYSCFG_ITLINE30_SR_LPUART3) == (SYSCFG_ITLINE30_SR_LPUART3)) ? 1UL : 0UL);
1224 }
1225 #endif /* SYSCFG_ITLINE30_SR_LPUART3 */
1226
1227 #if defined(AES)
1228 /**
1229 * @brief Check if AES interrupt occurred or not
1230 * @rmtoll SYSCFG_ITLINE31 SR_AES LL_SYSCFG_IsActiveFlag_AES
1231 * @retval State of bit (1 or 0).
1232 */
LL_SYSCFG_IsActiveFlag_AES(void)1233 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_AES(void)
1234 {
1235 return ((READ_BIT(SYSCFG->IT_LINE_SR[31], SYSCFG_ITLINE31_SR_AES) == (SYSCFG_ITLINE31_SR_AES)) ? 1UL : 0UL);
1236 }
1237 #endif /* AES */
1238
1239 /**
1240 * @brief Check if RNG interrupt occurred or not, combined with EXTI line 31.
1241 * @rmtoll SYSCFG_ITLINE31 SR_RNG LL_SYSCFG_IsActiveFlag_RNG
1242 * @retval State of bit (1 or 0).
1243 */
LL_SYSCFG_IsActiveFlag_RNG(void)1244 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RNG(void)
1245 {
1246 return ((READ_BIT(SYSCFG->IT_LINE_SR[31], SYSCFG_ITLINE31_SR_RNG) == (SYSCFG_ITLINE31_SR_RNG)) ? 1UL : 0UL);
1247 }
1248
1249 /**
1250 * @brief Enable SRAM2 Erase (starts a hardware SRAM2 erase operation. This bit is
1251 * automatically cleared at the end of the SRAM2 erase operation.)
1252 * @note This bit is write-protected: setting this bit is possible only after the
1253 * correct key sequence is written in the SYSCFG_SKR register as described in
1254 * the Reference Manual.
1255 * @rmtoll SYSCFG_SCSR SRAM2ER LL_SYSCFG_EnableSRAM2Erase
1256 * @retval None
1257 */
LL_SYSCFG_EnableSRAM2Erase(void)1258 __STATIC_INLINE void LL_SYSCFG_EnableSRAM2Erase(void)
1259 {
1260 /* Starts a hardware SRAM2 erase operation*/
1261 SET_BIT(SYSCFG->SCSR, SYSCFG_SCSR_SRAM2ER);
1262 }
1263
1264 /**
1265 * @brief Check if SRAM2 erase operation is on going
1266 * @rmtoll SYSCFG_SCSR SRAM2BSY LL_SYSCFG_IsSRAM2EraseOngoing
1267 * @retval State of bit (1 or 0).
1268 */
LL_SYSCFG_IsSRAM2EraseOngoing(void)1269 __STATIC_INLINE uint32_t LL_SYSCFG_IsSRAM2EraseOngoing(void)
1270 {
1271 return ((READ_BIT(SYSCFG->SCSR, SYSCFG_SCSR_SRAM2BSY) == (SYSCFG_SCSR_SRAM2BSY)) ? 1UL : 0UL) ;
1272 }
1273
1274 /**
1275 * @brief Set connections to TIM1/15/16 Break inputs
1276 * @rmtoll SYSCFG_CFGR2 CCL LL_SYSCFG_SetTIMBreakInputs\n
1277 * SYSCFG_CFGR2 SPL LL_SYSCFG_SetTIMBreakInputs\n
1278 * SYSCFG_CFGR2 PVDL LL_SYSCFG_SetTIMBreakInputs\n
1279 * SYSCFG_CFGR2 ECCL LL_SYSCFG_SetTIMBreakInputs
1280 * SYSCFG_CFGR2 BKPL LL_SYSCFG_SetTIMBreakInputs
1281 * @param Break This parameter can be a combination of the following values:
1282 * @arg @ref LL_SYSCFG_TIMBREAK_CCL
1283 * @arg @ref LL_SYSCFG_TIMBREAK_SPL
1284 * @arg @ref LL_SYSCFG_TIMBREAK_PVDL
1285 * @arg @ref LL_SYSCFG_TIMBREAK_ECCL
1286 * @arg @ref LL_SYSCFG_TIMBREAK_BKPL
1287 *
1288 * @retval None
1289 */
LL_SYSCFG_SetTIMBreakInputs(uint32_t Break)1290 __STATIC_INLINE void LL_SYSCFG_SetTIMBreakInputs(uint32_t Break)
1291 {
1292 MODIFY_REG(SYSCFG->CFGR2,
1293 SYSCFG_CFGR2_CCL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_PVDL | SYSCFG_CFGR2_ECCL | SYSCFG_CFGR2_BKPL, Break);
1294 }
1295
1296 /**
1297 * @brief Set connections to TIM1/15/16 Break inputs
1298 * @rmtoll SYSCFG_CFGR2 CCL LL_SYSCFG_GetTIMBreakInputs\n
1299 * SYSCFG_CFGR2 SPL LL_SYSCFG_GetTIMBreakInputs\n
1300 * SYSCFG_CFGR2 PVDL LL_SYSCFG_GetTIMBreakInputs\n
1301 * SYSCFG_CFGR2 ECCL LL_SYSCFG_GetTIMBreakInputs
1302 * SYSCFG_CFGR2 BKPL LL_SYSCFG_GetTIMBreakInputs
1303 *
1304 * @retval None
1305 */
LL_SYSCFG_GetTIMBreakInputs(void)1306 __STATIC_INLINE uint32_t LL_SYSCFG_GetTIMBreakInputs(void)
1307 {
1308 return (uint32_t)(READ_BIT(SYSCFG->CFGR2,
1309 SYSCFG_CFGR2_CCL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_PVDL | SYSCFG_CFGR2_ECCL | \
1310 SYSCFG_CFGR2_BKPL));
1311 }
1312
1313 /**
1314 * @brief Check if SRAM2 parity error detected
1315 * @rmtoll SYSCFG_CFGR2 BKPF LL_SYSCFG_IsActiveFlag_BKP
1316 * @retval State of bit (1 or 0).
1317 */
LL_SYSCFG_IsActiveFlag_BKP(void)1318 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_BKP(void)
1319 {
1320 return ((READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_BKPF) == (SYSCFG_CFGR2_BKPF)) ? 1UL : 0UL);
1321 }
1322
1323 /**
1324 * @brief Clear SRAM2 parity error flag
1325 * @rmtoll SYSCFG_CFGR2 BKPF LL_SYSCFG_ClearFlag_BKP
1326 * @retval None
1327 */
LL_SYSCFG_ClearFlag_BKP(void)1328 __STATIC_INLINE void LL_SYSCFG_ClearFlag_BKP(void)
1329 {
1330 SET_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_BKPF);
1331 }
1332
1333 /**
1334 * @brief Check if SRAM1 parity error detected
1335 * @rmtoll SYSCFG_CFGR2 SPF LL_SYSCFG_IsActiveFlag_SP
1336 * @retval State of bit (1 or 0).
1337 */
LL_SYSCFG_IsActiveFlag_SP(void)1338 __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SP(void)
1339 {
1340 return ((READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SPF) == (SYSCFG_CFGR2_SPF)) ? 1UL : 0UL);
1341 }
1342
1343 /**
1344 * @brief Clear SRAM1 parity error flag
1345 * @rmtoll SYSCFG_CFGR2 SPF LL_SYSCFG_ClearFlag_SP
1346 * @retval None
1347 */
LL_SYSCFG_ClearFlag_SP(void)1348 __STATIC_INLINE void LL_SYSCFG_ClearFlag_SP(void)
1349 {
1350 SET_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SPF);
1351 }
1352
1353 /**
1354 * @brief SRAM2 page write protection lock prior to erase
1355 * @rmtoll SYSCFG_SKR KEY LL_SYSCFG_LockSRAM2WRP
1356 * @retval None
1357 */
LL_SYSCFG_LockSRAM2WRP(void)1358 __STATIC_INLINE void LL_SYSCFG_LockSRAM2WRP(void)
1359 {
1360 /* Writing a wrong key reactivates the write protection */
1361 WRITE_REG(SYSCFG->SKR, 0x00);
1362 }
1363
1364 /**
1365 * @brief Enable connection of PB4 to COMP2
1366 * @rmtoll SYSCFG_TSCCR G2_IO1 LL_SYSCFG_EnableTSCCmpMod_G2IO1
1367 * @retval None
1368 */
LL_SYSCFG_EnableTSCCmpMod_G2IO1(void)1369 __STATIC_INLINE void LL_SYSCFG_EnableTSCCmpMod_G2IO1(void)
1370 {
1371 SET_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G2IO1);
1372 }
1373
1374 /**
1375 * @brief Disable connection of PB4 to COMP2
1376 * @rmtoll SYSCFG_TSCCR G2_IO1 LL_SYSCFG_DisableTSCCmpMod_G2IO1
1377 * @retval None
1378 */
LL_SYSCFG_DisableTSCCmpMod_G2IO1(void)1379 __STATIC_INLINE void LL_SYSCFG_DisableTSCCmpMod_G2IO1(void)
1380 {
1381 CLEAR_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G2IO1);
1382 }
1383
1384 /**
1385 * @brief Enable connection of PB6 to COMP2
1386 * @rmtoll SYSCFG_TSCCR G2_IO3 LL_SYSCFG_EnableTSCCmpMod_G2IO3
1387 * @retval None
1388 */
LL_SYSCFG_EnableTSCCmpMod_G2IO3(void)1389 __STATIC_INLINE void LL_SYSCFG_EnableTSCCmpMod_G2IO3(void)
1390 {
1391 SET_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G2IO3);
1392 }
1393
1394 /**
1395 * @brief Disable connection of PB6 to COMP2
1396 * @rmtoll SYSCFG_TSCCR G2_IO3 LL_SYSCFG_DisableTSCCmpMod_G2IO3
1397 * @retval None
1398 */
LL_SYSCFG_DisableTSCCmpMod_G2IO3(void)1399 __STATIC_INLINE void LL_SYSCFG_DisableTSCCmpMod_G2IO3(void)
1400 {
1401 CLEAR_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G2IO3);
1402 }
1403
1404 /**
1405 * @brief Enable connection of PC6 to COMP1
1406 * @rmtoll SYSCFG_TSCCR G4_IO1 LL_SYSCFG_EnableTSCCmpMod_G4IO1
1407 * @retval None
1408 */
LL_SYSCFG_EnableTSCCmpMod_G4IO1(void)1409 __STATIC_INLINE void LL_SYSCFG_EnableTSCCmpMod_G4IO1(void)
1410 {
1411 SET_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G4IO1);
1412 }
1413
1414 /**
1415 * @brief Disable connection of PC6 to COMP1
1416 * @rmtoll SYSCFG_TSCCR G4_IO1 LL_SYSCFG_DisableTSCCmpMod_G4IO1
1417 * @retval None
1418 */
LL_SYSCFG_DisableTSCCmpMod_G4IO1(void)1419 __STATIC_INLINE void LL_SYSCFG_DisableTSCCmpMod_G4IO1(void)
1420 {
1421 CLEAR_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G4IO1);
1422 }
1423
1424 /**
1425 * @brief Enable connection of PD10 to COMP2
1426 * @rmtoll SYSCFG_TSCCR G6_IO1 LL_SYSCFG_EnableTSCCmpMod_G6IO1
1427 * @retval None
1428 */
LL_SYSCFG_EnableTSCCmpMod_G6IO1(void)1429 __STATIC_INLINE void LL_SYSCFG_EnableTSCCmpMod_G6IO1(void)
1430 {
1431 SET_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G6IO1);
1432 }
1433
1434 /**
1435 * @brief Disable connection of PD10 to COMP2
1436 * @rmtoll SYSCFG_TSCCR G6_IO1 LL_SYSCFG_DisableTSCCmpMod_G6IO1
1437 * @retval None
1438 */
LL_SYSCFG_DisableTSCCmpMod_G6IO1(void)1439 __STATIC_INLINE void LL_SYSCFG_DisableTSCCmpMod_G6IO1(void)
1440 {
1441 CLEAR_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G6IO1);
1442 }
1443
1444 /**
1445 * @brief Enable connection of PA9 to COMP1
1446 * @rmtoll SYSCFG_TSCCR G7_IO2 LL_SYSCFG_EnableTSCCmpMod_G7IO2
1447 * @retval None
1448 */
LL_SYSCFG_EnableTSCCmpMod_G7IO2(void)1449 __STATIC_INLINE void LL_SYSCFG_EnableTSCCmpMod_G7IO2(void)
1450 {
1451 SET_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G7IO2);
1452 }
1453
1454 /**
1455 * @brief Disable connection of PA9 to COMP1
1456 * @rmtoll SYSCFG_TSCCR G7_IO2 LL_SYSCFG_DisableTSCCmpMod_G7IO2
1457 * @retval None
1458 */
LL_SYSCFG_DisableTSCCmpMod_G7IO2(void)1459 __STATIC_INLINE void LL_SYSCFG_DisableTSCCmpMod_G7IO2(void)
1460 {
1461 CLEAR_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_G7IO2);
1462 }
1463
1464 /**
1465 * @brief I/O control in comparator mode
1466 * @rmtoll SYSCFG_TSCCR TSC_IOCTRL LL_SYSCFG_SetTSCIOControl
1467 * @arg TSCIOControl This parameter can be a combination of the following values:
1468 * @arg @ref LL_SYSCFG_TSCIOCONTROL_REG
1469 * @arg @ref LL_SYSCFG_TSCIOCONTROL_ANALOG
1470 * @retval None
1471 */
LL_SYSCFG_SetTSCIOControl(uint32_t TSCIOControl)1472 __STATIC_INLINE void LL_SYSCFG_SetTSCIOControl(uint32_t TSCIOControl)
1473 {
1474 SET_BIT(SYSCFG->TSCCR, TSCIOControl);
1475 }
1476
1477 /**
1478 * @brief I/O control in comparator mode
1479 * @rmtoll SYSCFG_TSCCR TSC_IOCTRL LL_SYSCFG_GetTSCIOControl
1480 * @retval Returned value can be one of the following values:
1481 * @arg @ref LL_SYSCFG_TSCIOCONTROL_REG
1482 * @arg @ref LL_SYSCFG_TSCIOCONTROL_ANALOG
1483 */
LL_SYSCFG_GetTSCIOControl(void)1484 __STATIC_INLINE uint32_t LL_SYSCFG_GetTSCIOControl(void)
1485 {
1486 return (READ_BIT(SYSCFG->TSCCR, SYSCFG_TSCCR_TSCIOCTRL));
1487 }
1488
1489 /**
1490 * @brief SRAM2 page write protection unlock prior to erase
1491 * @rmtoll SYSCFG_SKR KEY LL_SYSCFG_UnlockSRAM2WRP
1492 * @retval None
1493 */
LL_SYSCFG_UnlockSRAM2WRP(void)1494 __STATIC_INLINE void LL_SYSCFG_UnlockSRAM2WRP(void)
1495 {
1496 /* unlock the write protection of the SRAM2ER bit */
1497 WRITE_REG(SYSCFG->SKR, 0xCA);
1498 WRITE_REG(SYSCFG->SKR, 0x53);
1499 }
1500
1501 /**
1502 * @}
1503 */
1504
1505 /** @defgroup SYSTEM_LL_EF_DBGMCU DBGMCU
1506 * @{
1507 */
1508
1509 /**
1510 * @brief Return the device identifier
1511 * @note For STM32U083xx devices, the device ID is 0x460
1512 * @rmtoll DBG_IDCODE DEV_ID LL_DBGMCU_GetDeviceID
1513 * @retval Values between Min_Data=0x00 and Max_Data=0xFFF
1514 */
LL_DBGMCU_GetDeviceID(void)1515 __STATIC_INLINE uint32_t LL_DBGMCU_GetDeviceID(void)
1516 {
1517 return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_DEV_ID));
1518 }
1519
1520 /**
1521 * @brief Return the device revision identifier
1522 * @note This field indicates the revision of the device.
1523 * @rmtoll DBG_IDCODE REV_ID LL_DBGMCU_GetRevisionID
1524 * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
1525 */
LL_DBGMCU_GetRevisionID(void)1526 __STATIC_INLINE uint32_t LL_DBGMCU_GetRevisionID(void)
1527 {
1528 return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_REV_ID) >> DBGMCU_IDCODE_REV_ID_Pos);
1529 }
1530
1531 /**
1532 * @brief Enable the Debug Module during STOP mode
1533 * @rmtoll DBG_CR DBG_STOP LL_DBGMCU_EnableDBGStopMode
1534 * @retval None
1535 */
LL_DBGMCU_EnableDBGStopMode(void)1536 __STATIC_INLINE void LL_DBGMCU_EnableDBGStopMode(void)
1537 {
1538 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
1539 }
1540
1541 /**
1542 * @brief Disable the Debug Module during STOP mode
1543 * @rmtoll DBG_CR DBG_STOP LL_DBGMCU_DisableDBGStopMode
1544 * @retval None
1545 */
LL_DBGMCU_DisableDBGStopMode(void)1546 __STATIC_INLINE void LL_DBGMCU_DisableDBGStopMode(void)
1547 {
1548 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
1549 }
1550
1551 /**
1552 * @brief Enable the Debug Module during STANDBY mode
1553 * @rmtoll DBG_CR DBG_STANDBY LL_DBGMCU_EnableDBGStandbyMode
1554 * @retval None
1555 */
LL_DBGMCU_EnableDBGStandbyMode(void)1556 __STATIC_INLINE void LL_DBGMCU_EnableDBGStandbyMode(void)
1557 {
1558 SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
1559 }
1560
1561 /**
1562 * @brief Disable the Debug Module during STANDBY mode
1563 * @rmtoll DBG_CR DBG_STANDBY LL_DBGMCU_DisableDBGStandbyMode
1564 * @retval None
1565 */
LL_DBGMCU_DisableDBGStandbyMode(void)1566 __STATIC_INLINE void LL_DBGMCU_DisableDBGStandbyMode(void)
1567 {
1568 CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
1569 }
1570
1571 /**
1572 * @brief Freeze APB1 peripherals (group1 peripherals)
1573 * @rmtoll DBG_APBFZ1 DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1574 * DBG_APBFZ1 DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1575 * DBG_APBFZ1 DBG_TIM4_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1576 * DBG_APBFZ1 DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1577 * DBG_APBFZ1 DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1578 * DBG_APBFZ1 DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1579 * DBG_APBFZ1 DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1580 * DBG_APBFZ1 DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1581 * DBG_APBFZ1 DBG_I2C3_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1582 * DBG_APBFZ1 DBG_I2C1_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1583 * DBG_APBFZ1 DBG_LPTIM2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1584 * DBG_APBFZ1 DBG_LPTIM1_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
1585 * @param Periphs This parameter can be a combination of the following values:
1586 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP
1587 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
1588 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP
1589 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP
1590 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP
1591 * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
1592 * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
1593 * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
1594 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C3_STOP
1595 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
1596 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM2_STOP
1597 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP
1598 *
1599 * @retval None
1600 */
LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)1601 __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)
1602 {
1603 SET_BIT(DBGMCU->APBFZ1, Periphs);
1604 }
1605
1606 /**
1607 * @brief Unfreeze APB1 peripherals (group1 peripherals)
1608 @rmtoll DBG_APBFZ1 DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1609 * DBG_APBFZ1 DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1610 * DBG_APBFZ1 DBG_TIM4_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1611 * DBG_APBFZ1 DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1612 * DBG_APBFZ1 DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1613 * DBG_APBFZ1 DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1614 * DBG_APBFZ1 DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1615 * DBG_APBFZ1 DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1616 * DBG_APBFZ1 DBG_I2C3_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1617 * DBG_APBFZ1 DBG_I2C1_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1618 * DBG_APBFZ1 DBG_LPTIM2_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1619 * DBG_APBFZ1 DBG_LPTIM1_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
1620 * @param Periphs This parameter can be a combination of the following values:
1621 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP
1622 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
1623 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP
1624 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP
1625 * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP
1626 * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
1627 * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
1628 * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
1629 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C3_STOP
1630 * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
1631 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM2_STOP
1632 * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP
1633 *
1634 * @retval None
1635 */
LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)1636 __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)
1637 {
1638 CLEAR_BIT(DBGMCU->APBFZ1, Periphs);
1639 }
1640
1641 /**
1642 * @brief Freeze APB2 peripherals
1643 * @rmtoll DBG_APBFZ2 DBG_TIM1_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
1644 * DBG_APBFZ2 DBG_TIM14_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
1645 * DBG_APBFZ2 DBG_TIM15_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
1646 * DBG_APBFZ2 DBG_TIM16_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
1647 * DBG_APBFZ2 DBG_LPTIM3_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
1648 * @param Periphs This parameter can be a combination of the following values:
1649 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM1_STOP
1650 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM14_STOP
1651 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM15_STOP
1652 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM16_STOP
1653 * @arg @ref LL_DBGMCU_APB1_GRP2_LPTIM3_STOP
1654 *
1655 * @retval None
1656 */
LL_DBGMCU_APB1_GRP2_FreezePeriph(uint32_t Periphs)1657 __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_FreezePeriph(uint32_t Periphs)
1658 {
1659 SET_BIT(DBGMCU->APBFZ2, Periphs);
1660 }
1661
1662 /**
1663 * @brief Unfreeze APB2 peripherals
1664 * @rmtoll DBG_APBFZ2 DBG_TIM1_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
1665 * DBG_APBFZ2 DBG_TIM14_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
1666 * DBG_APBFZ2 DBG_TIM15_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
1667 * DBG_APBFZ2 DBG_TIM16_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
1668 * DBG_APBFZ2 DBG_LPTIM3_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
1669 * @param Periphs This parameter can be a combination of the following values:
1670 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM1_STOP
1671 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM14_STOP
1672 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM15_STOP
1673 * @arg @ref LL_DBGMCU_APB1_GRP2_TIM16_STOP
1674 * @arg @ref LL_DBGMCU_APB1_GRP2_LPTIM3_STOP
1675 *
1676 * @retval None
1677 */
LL_DBGMCU_APB1_GRP2_UnFreezePeriph(uint32_t Periphs)1678 __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_UnFreezePeriph(uint32_t Periphs)
1679 {
1680 CLEAR_BIT(DBGMCU->APBFZ2, Periphs);
1681 }
1682 /**
1683 * @}
1684 */
1685
1686 #if defined(VREFBUF)
1687 /** @defgroup SYSTEM_LL_EF_VREFBUF VREFBUF
1688 * @{
1689 */
1690
1691 /**
1692 * @brief Enable Internal voltage reference
1693 * @rmtoll VREFBUF_CSR VREFBUF_CSR_ENVR LL_VREFBUF_Enable
1694 * @retval None
1695 */
LL_VREFBUF_Enable(void)1696 __STATIC_INLINE void LL_VREFBUF_Enable(void)
1697 {
1698 SET_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR);
1699 }
1700
1701 /**
1702 * @brief Disable Internal voltage reference
1703 * @rmtoll VREFBUF_CSR VREFBUF_CSR_ENVR LL_VREFBUF_Disable
1704 * @retval None
1705 */
LL_VREFBUF_Disable(void)1706 __STATIC_INLINE void LL_VREFBUF_Disable(void)
1707 {
1708 CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR);
1709 }
1710
1711 /**
1712 * @brief Enable high impedance (VREF+pin is high impedance)
1713 * @rmtoll VREFBUF_CSR VREFBUF_CSR_HIZ LL_VREFBUF_EnableHIZ
1714 * @retval None
1715 */
LL_VREFBUF_EnableHIZ(void)1716 __STATIC_INLINE void LL_VREFBUF_EnableHIZ(void)
1717 {
1718 SET_BIT(VREFBUF->CSR, VREFBUF_CSR_HIZ);
1719 }
1720
1721 /**
1722 * @brief Disable high impedance (VREF+pin is internally connected to the voltage reference buffer output)
1723 * @rmtoll VREFBUF_CSR VREFBUF_CSR_HIZ LL_VREFBUF_DisableHIZ
1724 * @retval None
1725 */
LL_VREFBUF_DisableHIZ(void)1726 __STATIC_INLINE void LL_VREFBUF_DisableHIZ(void)
1727 {
1728 CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_HIZ);
1729 }
1730
1731 /**
1732 * @brief Set the Voltage reference scale
1733 * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_SetVoltageScaling
1734 * @param Scale This parameter can be one of the following values:
1735 * @arg @ref LL_VREFBUF_VOLTAGE_SCALE0
1736 * @arg @ref LL_VREFBUF_VOLTAGE_SCALE1
1737 * @retval None
1738 */
LL_VREFBUF_SetVoltageScaling(uint32_t Scale)1739 __STATIC_INLINE void LL_VREFBUF_SetVoltageScaling(uint32_t Scale)
1740 {
1741 MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_VRS, Scale);
1742 }
1743
1744 /**
1745 * @brief Get the Voltage reference scale
1746 * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_GetVoltageScaling
1747 * @retval Returned value can be one of the following values:
1748 * @arg @ref LL_VREFBUF_VOLTAGE_SCALE0
1749 * @arg @ref LL_VREFBUF_VOLTAGE_SCALE1
1750 */
LL_VREFBUF_GetVoltageScaling(void)1751 __STATIC_INLINE uint32_t LL_VREFBUF_GetVoltageScaling(void)
1752 {
1753 return (uint32_t)(READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRS));
1754 }
1755
1756 /**
1757 * @brief Check if Voltage reference buffer is ready
1758 * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_IsVREFReady
1759 * @retval State of bit (1 or 0).
1760 */
LL_VREFBUF_IsVREFReady(void)1761 __STATIC_INLINE uint32_t LL_VREFBUF_IsVREFReady(void)
1762 {
1763 return ((READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRR) == (VREFBUF_CSR_VRR)) ? 1UL : 0UL);
1764 }
1765
1766 /**
1767 * @brief Get the trimming code for VREFBUF calibration
1768 * @rmtoll VREFBUF_CCR VREFBUF_CCR_TRIM LL_VREFBUF_GetTrimming
1769 * @retval Between 0 and 0x3F
1770 */
LL_VREFBUF_GetTrimming(void)1771 __STATIC_INLINE uint32_t LL_VREFBUF_GetTrimming(void)
1772 {
1773 return (uint32_t)(READ_BIT(VREFBUF->CCR, VREFBUF_CCR_TRIM));
1774 }
1775
1776 /**
1777 * @brief Set the trimming code for VREFBUF calibration (Tune the internal reference buffer voltage)
1778 * @rmtoll VREFBUF_CCR VREFBUF_CCR_TRIM LL_VREFBUF_SetTrimming
1779 * @param Value Between 0 and 0x3F
1780 * @retval None
1781 */
LL_VREFBUF_SetTrimming(uint32_t Value)1782 __STATIC_INLINE void LL_VREFBUF_SetTrimming(uint32_t Value)
1783 {
1784 WRITE_REG(VREFBUF->CCR, Value);
1785 }
1786
1787 /**
1788 * @}
1789 */
1790 #endif /* VREFBUF */
1791
1792 /** @defgroup SYSTEM_LL_EF_FLASH FLASH
1793 * @{
1794 */
1795
1796 /**
1797 * @brief Set FLASH Latency
1798 * @rmtoll FLASH_ACR FLASH_ACR_LATENCY LL_FLASH_SetLatency
1799 * @param Latency This parameter can be one of the following values:
1800 * @arg @ref LL_FLASH_LATENCY_0
1801 * @arg @ref LL_FLASH_LATENCY_1
1802 * @arg @ref LL_FLASH_LATENCY_2
1803 * @retval None
1804 */
LL_FLASH_SetLatency(uint32_t Latency)1805 __STATIC_INLINE void LL_FLASH_SetLatency(uint32_t Latency)
1806 {
1807 MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, Latency);
1808 }
1809
1810 /**
1811 * @brief Get FLASH Latency
1812 * @rmtoll FLASH_ACR FLASH_ACR_LATENCY LL_FLASH_GetLatency
1813 * @retval Returned value can be one of the following values:
1814 * @arg @ref LL_FLASH_LATENCY_0
1815 * @arg @ref LL_FLASH_LATENCY_1
1816 * @arg @ref LL_FLASH_LATENCY_2
1817 */
LL_FLASH_GetLatency(void)1818 __STATIC_INLINE uint32_t LL_FLASH_GetLatency(void)
1819 {
1820 return (uint32_t)(READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY));
1821 }
1822
1823 /**
1824 * @brief Unlock the Flash
1825 * @rmtoll FLASH_KEYR FLASH_KEYR_KEY LL_FLASH_Unlock
1826 * @retval None
1827 */
LL_FLASH_Unlock(void)1828 __STATIC_INLINE void LL_FLASH_Unlock(void)
1829 {
1830 /* Following values must be written consecutively to unlock the FLASH control register */
1831 FLASH->KEYR = FLASH_KEY1;
1832 FLASH->KEYR = FLASH_KEY2;
1833 }
1834
1835 /**
1836 * @brief Enable Prefetch
1837 * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_EnablePrefetch
1838 * @retval None
1839 */
LL_FLASH_EnablePrefetch(void)1840 __STATIC_INLINE void LL_FLASH_EnablePrefetch(void)
1841 {
1842 SET_BIT(FLASH->ACR, FLASH_ACR_PRFTEN);
1843 }
1844
1845 /**
1846 * @brief Disable Prefetch
1847 * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_DisablePrefetch
1848 * @retval None
1849 */
LL_FLASH_DisablePrefetch(void)1850 __STATIC_INLINE void LL_FLASH_DisablePrefetch(void)
1851 {
1852 CLEAR_BIT(FLASH->ACR, FLASH_ACR_PRFTEN);
1853 }
1854
1855 /**
1856 * @brief Check if Prefetch buffer is enabled
1857 * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_IsPrefetchEnabled
1858 * @retval State of bit (1 or 0).
1859 */
LL_FLASH_IsPrefetchEnabled(void)1860 __STATIC_INLINE uint32_t LL_FLASH_IsPrefetchEnabled(void)
1861 {
1862 return ((READ_BIT(FLASH->ACR, FLASH_ACR_PRFTEN) == (FLASH_ACR_PRFTEN)) ? 1UL : 0UL);
1863 }
1864
1865 /**
1866 * @brief Enable Instruction cache
1867 * @rmtoll FLASH_ACR FLASH_ACR_ICEN LL_FLASH_EnableInstCache
1868 * @retval None
1869 */
LL_FLASH_EnableInstCache(void)1870 __STATIC_INLINE void LL_FLASH_EnableInstCache(void)
1871 {
1872 SET_BIT(FLASH->ACR, FLASH_ACR_ICEN);
1873 }
1874
1875 /**
1876 * @brief Disable Instruction cache
1877 * @rmtoll FLASH_ACR FLASH_ACR_ICEN LL_FLASH_DisableInstCache
1878 * @retval None
1879 */
LL_FLASH_DisableInstCache(void)1880 __STATIC_INLINE void LL_FLASH_DisableInstCache(void)
1881 {
1882 CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICEN);
1883 }
1884
1885 /**
1886 * @brief Enable Instruction cache reset
1887 * @note bit can be written only when the instruction cache is disabled
1888 * @rmtoll FLASH_ACR FLASH_ACR_ICRST LL_FLASH_EnableInstCacheReset
1889 * @retval None
1890 */
LL_FLASH_EnableInstCacheReset(void)1891 __STATIC_INLINE void LL_FLASH_EnableInstCacheReset(void)
1892 {
1893 SET_BIT(FLASH->ACR, FLASH_ACR_ICRST);
1894 }
1895
1896 /**
1897 * @brief Disable Instruction cache reset
1898 * @rmtoll FLASH_ACR FLASH_ACR_ICRST LL_FLASH_DisableInstCacheReset
1899 * @retval None
1900 */
LL_FLASH_DisableInstCacheReset(void)1901 __STATIC_INLINE void LL_FLASH_DisableInstCacheReset(void)
1902 {
1903 CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICRST);
1904 }
1905
1906 /** Set EMPTY flag information as Flash User area empty
1907 * @brief
1908 * @rmtoll FLASH_ACR FLASH_ACR_EMPTY LL_FLASH_SetEmptyFlag
1909 * @retval None
1910 */
LL_FLASH_SetEmptyFlag(void)1911 __STATIC_INLINE void LL_FLASH_SetEmptyFlag(void)
1912 {
1913 SET_BIT(FLASH->ACR, FLASH_ACR_EMPTY);
1914 }
1915
1916 /** Clear EMPTY flag information as Flash User area programmed
1917 * @brief
1918 * @rmtoll FLASH_ACR FLASH_ACR_EMPTY LL_FLASH_ClearEmptyFlag
1919 * @retval None
1920 */
LL_FLASH_ClearEmptyFlag(void)1921 __STATIC_INLINE void LL_FLASH_ClearEmptyFlag(void)
1922 {
1923 CLEAR_BIT(FLASH->ACR, FLASH_ACR_EMPTY);
1924 }
1925
1926 /**
1927 * @brief Check if the EMPTY flag is set or reset
1928 * @rmtoll FLASH_ACR EMPTY LL_FLASH_IsEmptyFlag
1929 * @retval State of bit (1 or 0).
1930 */
LL_FLASH_IsEmptyFlag(void)1931 __STATIC_INLINE uint32_t LL_FLASH_IsEmptyFlag(void)
1932 {
1933 return ((READ_BIT(FLASH->ACR, FLASH_ACR_EMPTY) == FLASH_ACR_EMPTY) ? 1UL : 0UL);
1934 }
1935
1936 /** Set EMPTY flag information as Flash User area empty
1937 * @brief
1938 * @rmtoll FLASH_ACR FLASH_ACR_DBG_SWEN LL_FLASH_EnableDBGAccess
1939 * @retval None
1940 */
LL_FLASH_EnableDBGAccess(void)1941 __STATIC_INLINE void LL_FLASH_EnableDBGAccess(void)
1942 {
1943 SET_BIT(FLASH->ACR, FLASH_ACR_DBG_SWEN);
1944 }
1945
1946 /** Clear EMPTY flag information as Flash User area programmed
1947 * @brief
1948 * @rmtoll FLASH_ACR FLASH_ACR_DBG_SWEN LL_FLASH_DisableDBGAccess
1949 * @retval None
1950 */
LL_FLASH_DisableDBGAccess(void)1951 __STATIC_INLINE void LL_FLASH_DisableDBGAccess(void)
1952 {
1953 CLEAR_BIT(FLASH->ACR, FLASH_ACR_DBG_SWEN);
1954 }
1955
1956 /**
1957 * @}
1958 */
1959
1960 /**
1961 * @}
1962 */
1963
1964 /**
1965 * @}
1966 */
1967
1968 #endif /* defined (FLASH) || defined (SYSCFG) || defined (DBG) */
1969
1970 /**
1971 * @}
1972 */
1973
1974 #ifdef __cplusplus
1975 }
1976 #endif
1977
1978 #endif /* STM32U0xx_LL_SYSTEM_H */
1979