2 ******************************************************************************
3 * @file stm32h7xx_ll_exti.h
4 * @author MCD Application Team
5 * @brief Header file of EXTI LL module.
6 ******************************************************************************
9 * <h2><center>© Copyright (c) 2017 STMicroelectronics.
10 * All rights reserved.</center></h2>
12 * This software component is licensed by ST under BSD 3-Clause license,
13 * the "License"; You may not use this file except in compliance with the
14 * License. You may obtain a copy of the License at:
15 * opensource.org/licenses/BSD-3-Clause
17 ******************************************************************************
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32H7xx_LL_EXTI_H
22 #define __STM32H7xx_LL_EXTI_H
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32h7xx.h"
31 /** @addtogroup STM32H7xx_LL_Driver
37 /** @defgroup EXTI_LL EXTI
41 /* Private types -------------------------------------------------------------*/
42 /* Private variables ---------------------------------------------------------*/
43 /* Private constants ---------------------------------------------------------*/
44 /* Private Macros ------------------------------------------------------------*/
45 #if defined(USE_FULL_LL_DRIVER)
46 /** @defgroup EXTI_LL_Private_Macros EXTI Private Macros
52 #endif /*USE_FULL_LL_DRIVER*/
53 /* Exported types ------------------------------------------------------------*/
54 #if defined(USE_FULL_LL_DRIVER)
55 /** @defgroup EXTI_LL_ES_INIT EXTI Exported Init structure
61 uint32_t Line_0_31
; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 0 to 31
62 This parameter can be any combination of @ref EXTI_LL_EC_LINE */
64 uint32_t Line_32_63
; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 32 to 63
65 This parameter can be any combination of @ref EXTI_LL_EC_LINE */
67 uint32_t Line_64_95
; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 64 to 95
68 This parameter can be any combination of @ref EXTI_LL_EC_LINE */
70 FunctionalState LineCommand
; /*!< Specifies the new state of the selected EXTI lines.
71 This parameter can be set either to ENABLE or DISABLE */
73 uint8_t Mode
; /*!< Specifies the mode for the EXTI lines.
74 This parameter can be a value of @ref EXTI_LL_EC_MODE. */
76 uint8_t Trigger
; /*!< Specifies the trigger signal active edge for the EXTI lines.
77 This parameter can be a value of @ref EXTI_LL_EC_TRIGGER. */
78 } LL_EXTI_InitTypeDef
;
83 #endif /*USE_FULL_LL_DRIVER*/
85 /* Exported constants --------------------------------------------------------*/
86 /** @defgroup EXTI_LL_Exported_Constants EXTI Exported Constants
90 /** @defgroup EXTI_LL_EC_LINE LINE
93 #define LL_EXTI_LINE_0 EXTI_IMR1_IM0 /*!< Extended line 0 */
94 #define LL_EXTI_LINE_1 EXTI_IMR1_IM1 /*!< Extended line 1 */
95 #define LL_EXTI_LINE_2 EXTI_IMR1_IM2 /*!< Extended line 2 */
96 #define LL_EXTI_LINE_3 EXTI_IMR1_IM3 /*!< Extended line 3 */
97 #define LL_EXTI_LINE_4 EXTI_IMR1_IM4 /*!< Extended line 4 */
98 #define LL_EXTI_LINE_5 EXTI_IMR1_IM5 /*!< Extended line 5 */
99 #define LL_EXTI_LINE_6 EXTI_IMR1_IM6 /*!< Extended line 6 */
100 #define LL_EXTI_LINE_7 EXTI_IMR1_IM7 /*!< Extended line 7 */
101 #define LL_EXTI_LINE_8 EXTI_IMR1_IM8 /*!< Extended line 8 */
102 #define LL_EXTI_LINE_9 EXTI_IMR1_IM9 /*!< Extended line 9 */
103 #define LL_EXTI_LINE_10 EXTI_IMR1_IM10 /*!< Extended line 10 */
104 #define LL_EXTI_LINE_11 EXTI_IMR1_IM11 /*!< Extended line 11 */
105 #define LL_EXTI_LINE_12 EXTI_IMR1_IM12 /*!< Extended line 12 */
106 #define LL_EXTI_LINE_13 EXTI_IMR1_IM13 /*!< Extended line 13 */
107 #define LL_EXTI_LINE_14 EXTI_IMR1_IM14 /*!< Extended line 14 */
108 #define LL_EXTI_LINE_15 EXTI_IMR1_IM15 /*!< Extended line 15 */
109 #define LL_EXTI_LINE_16 EXTI_IMR1_IM16 /*!< Extended line 16 */
110 #define LL_EXTI_LINE_17 EXTI_IMR1_IM17 /*!< Extended line 17 */
111 #define LL_EXTI_LINE_18 EXTI_IMR1_IM18 /*!< Extended line 18 */
112 #define LL_EXTI_LINE_19 EXTI_IMR1_IM19 /*!< Extended line 19 */
113 #define LL_EXTI_LINE_20 EXTI_IMR1_IM20 /*!< Extended line 20 */
114 #define LL_EXTI_LINE_21 EXTI_IMR1_IM21 /*!< Extended line 21 */
115 #define LL_EXTI_LINE_22 EXTI_IMR1_IM22 /*!< Extended line 22 */
116 #define LL_EXTI_LINE_23 EXTI_IMR1_IM23 /*!< Extended line 23 */
117 #define LL_EXTI_LINE_24 EXTI_IMR1_IM24 /*!< Extended line 24 */
118 #define LL_EXTI_LINE_25 EXTI_IMR1_IM25 /*!< Extended line 25 */
119 #define LL_EXTI_LINE_26 EXTI_IMR1_IM26 /*!< Extended line 26 */
120 #define LL_EXTI_LINE_27 EXTI_IMR1_IM27 /*!< Extended line 27 */
121 #define LL_EXTI_LINE_28 EXTI_IMR1_IM28 /*!< Extended line 28 */
122 #define LL_EXTI_LINE_29 EXTI_IMR1_IM29 /*!< Extended line 29 */
123 #define LL_EXTI_LINE_30 EXTI_IMR1_IM30 /*!< Extended line 30 */
124 #define LL_EXTI_LINE_31 EXTI_IMR1_IM31 /*!< Extended line 31 */
125 #define LL_EXTI_LINE_ALL_0_31 EXTI_IMR1_IM /*!< All Extended line not reserved*/
127 #define LL_EXTI_LINE_32 EXTI_IMR2_IM32 /*!< Extended line 32 */
128 #define LL_EXTI_LINE_33 EXTI_IMR2_IM33 /*!< Extended line 33 */
129 #define LL_EXTI_LINE_34 EXTI_IMR2_IM34 /*!< Extended line 34 */
130 #define LL_EXTI_LINE_35 EXTI_IMR2_IM35 /*!< Extended line 35 */
131 #define LL_EXTI_LINE_36 EXTI_IMR2_IM36 /*!< Extended line 36 */
132 #define LL_EXTI_LINE_37 EXTI_IMR2_IM37 /*!< Extended line 37 */
133 #define LL_EXTI_LINE_38 EXTI_IMR2_IM38 /*!< Extended line 38 */
134 #define LL_EXTI_LINE_39 EXTI_IMR2_IM39 /*!< Extended line 39 */
135 #define LL_EXTI_LINE_40 EXTI_IMR2_IM40 /*!< Extended line 40 */
136 #define LL_EXTI_LINE_41 EXTI_IMR2_IM41 /*!< Extended line 41 */
137 #define LL_EXTI_LINE_42 EXTI_IMR2_IM42 /*!< Extended line 42 */
138 #define LL_EXTI_LINE_43 EXTI_IMR2_IM43 /*!< Extended line 43 */
139 #if defined(USB2_OTG_FS)
140 #define LL_EXTI_LINE_44 EXTI_IMR2_IM44 /*!< Extended line 44 */
141 #endif /* USB2_OTG_FS */
143 #define LL_EXTI_LINE_46 EXTI_IMR2_IM46 /*!< Extended line 46 */
145 #define LL_EXTI_LINE_47 EXTI_IMR2_IM47 /*!< Extended line 47 */
146 #define LL_EXTI_LINE_48 EXTI_IMR2_IM48 /*!< Extended line 48 */
147 #define LL_EXTI_LINE_49 EXTI_IMR2_IM49 /*!< Extended line 49 */
148 #define LL_EXTI_LINE_50 EXTI_IMR2_IM50 /*!< Extended line 50 */
149 #define LL_EXTI_LINE_51 EXTI_IMR2_IM51 /*!< Extended line 51 */
150 #define LL_EXTI_LINE_52 EXTI_IMR2_IM52 /*!< Extended line 52 */
151 #define LL_EXTI_LINE_53 EXTI_IMR2_IM53 /*!< Extended line 53 */
152 #define LL_EXTI_LINE_54 EXTI_IMR2_IM54 /*!< Extended line 54 */
153 #define LL_EXTI_LINE_55 EXTI_IMR2_IM55 /*!< Extended line 55 */
154 #define LL_EXTI_LINE_56 EXTI_IMR2_IM56 /*!< Extended line 56 */
155 #define LL_EXTI_LINE_57 EXTI_IMR2_IM57 /*!< Extended line 57 */
156 #define LL_EXTI_LINE_58 EXTI_IMR2_IM58 /*!< Extended line 58 */
157 #define LL_EXTI_LINE_59 EXTI_IMR2_IM59 /*!< Extended line 59 */
158 #define LL_EXTI_LINE_60 EXTI_IMR2_IM60 /*!< Extended line 60 */
159 #define LL_EXTI_LINE_61 EXTI_IMR2_IM61 /*!< Extended line 61 */
160 #define LL_EXTI_LINE_62 EXTI_IMR2_IM62 /*!< Extended line 62 */
161 #define LL_EXTI_LINE_63 EXTI_IMR2_IM63 /*!< Extended line 63 */
162 #define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM /*!< All Extended line not reserved*/
164 #define LL_EXTI_LINE_64 EXTI_IMR3_IM64 /*!< Extended line 64 */
165 #define LL_EXTI_LINE_65 EXTI_IMR3_IM65 /*!< Extended line 65 */
166 #define LL_EXTI_LINE_66 EXTI_IMR3_IM66 /*!< Extended line 66 */
167 #define LL_EXTI_LINE_67 EXTI_IMR3_IM67 /*!< Extended line 67 */
168 #define LL_EXTI_LINE_68 EXTI_IMR3_IM68 /*!< Extended line 68 */
169 #define LL_EXTI_LINE_69 EXTI_IMR3_IM69 /*!< Extended line 69 */
170 #define LL_EXTI_LINE_70 EXTI_IMR3_IM70 /*!< Extended line 70 */
171 #define LL_EXTI_LINE_71 EXTI_IMR3_IM71 /*!< Extended line 71 */
172 #define LL_EXTI_LINE_72 EXTI_IMR3_IM72 /*!< Extended line 72 */
173 #define LL_EXTI_LINE_73 EXTI_IMR3_IM73 /*!< Extended line 73 */
174 #define LL_EXTI_LINE_74 EXTI_IMR3_IM74 /*!< Extended line 74 */
176 #define LL_EXTI_LINE_75 EXTI_IMR3_IM75 /*!< Extended line 75 */
179 #define LL_EXTI_LINE_76 EXTI_IMR3_IM76 /*!< Extended line 76 */
181 #if defined(DUAL_CORE)
182 #define LL_EXTI_LINE_77 EXTI_IMR3_IM77 /*!< Extended line 77 */
183 #define LL_EXTI_LINE_78 EXTI_IMR3_IM78 /*!< Extended line 78 */
184 #define LL_EXTI_LINE_79 EXTI_IMR3_IM79 /*!< Extended line 79 */
185 #define LL_EXTI_LINE_80 EXTI_IMR3_IM80 /*!< Extended line 80 */
186 #define LL_EXTI_LINE_82 EXTI_IMR3_IM82 /*!< Extended line 82 */
187 #define LL_EXTI_LINE_84 EXTI_IMR3_IM84 /*!< Extended line 84 */
188 #endif /* DUAL_CORE */
189 #define LL_EXTI_LINE_85 EXTI_IMR3_IM85 /*!< Extended line 85 */
191 #define LL_EXTI_LINE_86 EXTI_IMR3_IM86 /*!< Extended line 86 */
193 #define LL_EXTI_LINE_87 EXTI_IMR3_IM87 /*!< Extended line 87 */
195 #define LL_EXTI_LINE_88 EXTI_IMR3_IM88 /*!< Extended line 87 */
197 #define LL_EXTI_LINE_ALL_64_95 EXTI_IMR3_IM /*!< All Extended line not reserved*/
200 #define LL_EXTI_LINE_ALL (0xFFFFFFFFU) /*!< All Extended line */
202 #if defined(USE_FULL_LL_DRIVER)
203 #define LL_EXTI_LINE_NONE (0x00000000U) /*!< None Extended line */
204 #endif /*USE_FULL_LL_DRIVER*/
209 #if defined(USE_FULL_LL_DRIVER)
211 /** @defgroup EXTI_LL_EC_MODE Mode
214 #define LL_EXTI_MODE_IT ((uint8_t)0x01U) /*!< Cortex-M7 Interrupt Mode */
215 #define LL_EXTI_MODE_EVENT ((uint8_t)0x02U) /*!< Cortex-M7 Event Mode */
216 #define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x03U) /*!< Cortex-M7 Interrupt & Event Mode */
218 #if defined(DUAL_CORE)
219 #define LL_EXTI_MODE_C1_IT LL_EXTI_MODE_IT /*!< Cortex-M7 Interrupt Mode */
220 #define LL_EXTI_MODE_C1_EVENT LL_EXTI_MODE_EVENT /*!< Cortex-M7 Event Mode */
221 #define LL_EXTI_MODE_C1_IT_EVENT LL_EXTI_MODE_IT_EVENT /*!< Cortex-M7 Interrupt & Event Mode */
223 #define LL_EXTI_MODE_C2_IT ((uint8_t)0x10U) /*!< Cortex-M4 Interrupt Mode */
224 #define LL_EXTI_MODE_C2_EVENT ((uint8_t)0x20U) /*!< Cortex-M4 Event Mode */
225 #define LL_EXTI_MODE_C2_IT_EVENT ((uint8_t)0x30U) /*!< Cortex-M4 Interrupt & Event Mode */
226 #endif /* DUAL_CORE */
232 /** @defgroup EXTI_LL_EC_TRIGGER Edge Trigger
235 #define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U) /*!< No Trigger Mode */
236 #define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U) /*!< Trigger Rising Mode */
237 #define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U) /*!< Trigger Falling Mode */
238 #define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U) /*!< Trigger Rising & Falling Mode */
244 /** @defgroup EXTI_LL_D3_PEND_CLR D3 Pend Clear Source
247 #define LL_EXTI_D3_PEND_CLR_DMACH6 ((uint8_t)0x00U) /*!< DMA ch6 event selected as D3 domain pendclear source */
248 #define LL_EXTI_D3_PEND_CLR_DMACH7 ((uint8_t)0x01U) /*!< DMA ch7 event selected as D3 domain pendclear source */
250 #define LL_EXTI_D3_PEND_CLR_LPTIM4 ((uint8_t)0x02U) /*!< LPTIM4 out selected as D3 domain pendclear source */
252 #define LL_EXTI_D3_PEND_CLR_LPTIM2 ((uint8_t)0x02U) /*!< LPTIM2 out selected as D3 domain pendclear source */
255 #define LL_EXTI_D3_PEND_CLR_LPTIM5 ((uint8_t)0x03U) /*!< LPTIM5 out selected as D3 domain pendclear source */
257 #define LL_EXTI_D3_PEND_CLR_LPTIM3 ((uint8_t)0x02U) /*!< LPTIM3 out selected as D3 domain pendclear source */
264 #endif /*USE_FULL_LL_DRIVER*/
271 /* Exported macro ------------------------------------------------------------*/
272 /** @defgroup EXTI_LL_Exported_Macros EXTI Exported Macros
276 /** @defgroup EXTI_LL_EM_WRITE_READ Common Write and read registers Macros
281 * @brief Write a value in EXTI register
282 * @param __REG__ Register to be written
283 * @param __VALUE__ Value to be written in the register
286 #define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
289 * @brief Read a value in EXTI register
290 * @param __REG__ Register to be read
291 * @retval Register value
293 #define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
306 /* Exported functions --------------------------------------------------------*/
307 /** @defgroup EXTI_LL_Exported_Functions EXTI Exported Functions
310 /** @defgroup EXTI_LL_EF_IT_Management IT_Management
315 * @brief Enable ExtiLine Interrupt request for Lines in range 0 to 31
316 * @rmtoll IMR1 IMx LL_EXTI_EnableIT_0_31
317 * @param ExtiLine This parameter can be one of the following values:
318 * @arg @ref LL_EXTI_LINE_0
319 * @arg @ref LL_EXTI_LINE_1
320 * @arg @ref LL_EXTI_LINE_2
321 * @arg @ref LL_EXTI_LINE_3
322 * @arg @ref LL_EXTI_LINE_4
323 * @arg @ref LL_EXTI_LINE_5
324 * @arg @ref LL_EXTI_LINE_6
325 * @arg @ref LL_EXTI_LINE_7
326 * @arg @ref LL_EXTI_LINE_8
327 * @arg @ref LL_EXTI_LINE_9
328 * @arg @ref LL_EXTI_LINE_10
329 * @arg @ref LL_EXTI_LINE_11
330 * @arg @ref LL_EXTI_LINE_12
331 * @arg @ref LL_EXTI_LINE_13
332 * @arg @ref LL_EXTI_LINE_14
333 * @arg @ref LL_EXTI_LINE_15
334 * @arg @ref LL_EXTI_LINE_16
335 * @arg @ref LL_EXTI_LINE_17
336 * @arg @ref LL_EXTI_LINE_18
337 * @arg @ref LL_EXTI_LINE_19
338 * @arg @ref LL_EXTI_LINE_20
339 * @arg @ref LL_EXTI_LINE_21
340 * @arg @ref LL_EXTI_LINE_22
341 * @arg @ref LL_EXTI_LINE_23
342 * @arg @ref LL_EXTI_LINE_24
343 * @arg @ref LL_EXTI_LINE_25
344 * @arg @ref LL_EXTI_LINE_26
345 * @arg @ref LL_EXTI_LINE_27
346 * @arg @ref LL_EXTI_LINE_28
347 * @arg @ref LL_EXTI_LINE_29
348 * @arg @ref LL_EXTI_LINE_30
349 * @arg @ref LL_EXTI_LINE_31
350 * @arg @ref LL_EXTI_LINE_ALL_0_31
353 __STATIC_INLINE
void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine
)
355 SET_BIT(EXTI
->IMR1
, ExtiLine
);
359 * @brief Enable ExtiLine Interrupt request for Lines in range 32 to 63
360 * @rmtoll IMR2 IMx LL_EXTI_EnableIT_32_63
361 * @param ExtiLine This parameter can be one of the following values:
362 * @arg @ref LL_EXTI_LINE_32
363 * @arg @ref LL_EXTI_LINE_33
364 * @arg @ref LL_EXTI_LINE_34
365 * @arg @ref LL_EXTI_LINE_35
366 * @arg @ref LL_EXTI_LINE_36
367 * @arg @ref LL_EXTI_LINE_37
368 * @arg @ref LL_EXTI_LINE_38
369 * @arg @ref LL_EXTI_LINE_39
370 * @arg @ref LL_EXTI_LINE_40
371 * @arg @ref LL_EXTI_LINE_41
372 * @arg @ref LL_EXTI_LINE_42
373 * @arg @ref LL_EXTI_LINE_43
374 * @arg @ref LL_EXTI_LINE_44
375 * @arg @ref LL_EXTI_LINE_46
376 * @arg @ref LL_EXTI_LINE_47
377 * @arg @ref LL_EXTI_LINE_48
378 * @arg @ref LL_EXTI_LINE_49
379 * @arg @ref LL_EXTI_LINE_50
380 * @arg @ref LL_EXTI_LINE_51
381 * @arg @ref LL_EXTI_LINE_52
382 * @arg @ref LL_EXTI_LINE_53
383 * @arg @ref LL_EXTI_LINE_54
384 * @arg @ref LL_EXTI_LINE_55
385 * @arg @ref LL_EXTI_LINE_56
386 * @arg @ref LL_EXTI_LINE_57
387 * @arg @ref LL_EXTI_LINE_58
388 * @arg @ref LL_EXTI_LINE_59
389 * @arg @ref LL_EXTI_LINE_60
390 * @arg @ref LL_EXTI_LINE_61
391 * @arg @ref LL_EXTI_LINE_62
392 * @arg @ref LL_EXTI_LINE_63
393 * @arg @ref LL_EXTI_LINE_ALL_32_63
396 __STATIC_INLINE
void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine
)
398 SET_BIT(EXTI
->IMR2
, ExtiLine
);
403 * @brief Enable ExtiLine Interrupt request for Lines in range 64 to 95
404 * @rmtoll IMR3 IMx LL_EXTI_EnableIT_64_95
405 * @param ExtiLine This parameter can be one of the following values:
406 * @arg @ref LL_EXTI_LINE_64
407 * @arg @ref LL_EXTI_LINE_65
408 * @arg @ref LL_EXTI_LINE_66
409 * @arg @ref LL_EXTI_LINE_67
410 * @arg @ref LL_EXTI_LINE_68
411 * @arg @ref LL_EXTI_LINE_69
412 * @arg @ref LL_EXTI_LINE_70
413 * @arg @ref LL_EXTI_LINE_71
414 * @arg @ref LL_EXTI_LINE_72
415 * @arg @ref LL_EXTI_LINE_73
416 * @arg @ref LL_EXTI_LINE_74
417 * @arg @ref LL_EXTI_LINE_75
418 * @arg @ref LL_EXTI_LINE_76
419 * @arg @ref LL_EXTI_LINE_77
420 * @arg @ref LL_EXTI_LINE_78
421 * @arg @ref LL_EXTI_LINE_79
422 * @arg @ref LL_EXTI_LINE_80
423 * @arg @ref LL_EXTI_LINE_82
424 * @arg @ref LL_EXTI_LINE_84
425 * @arg @ref LL_EXTI_LINE_85
426 * @arg @ref LL_EXTI_LINE_86
427 * @arg @ref LL_EXTI_LINE_87
428 * @arg @ref LL_EXTI_LINE_ALL_64_95
431 __STATIC_INLINE
void LL_EXTI_EnableIT_64_95(uint32_t ExtiLine
)
433 SET_BIT(EXTI
->IMR3
, ExtiLine
);
438 * @brief Disable ExtiLine Interrupt request for Lines in range 0 to 31
439 * @rmtoll IMR1 IMx LL_EXTI_DisableIT_0_31
440 * @param ExtiLine This parameter can be one of the following values:
441 * @arg @ref LL_EXTI_LINE_0
442 * @arg @ref LL_EXTI_LINE_1
443 * @arg @ref LL_EXTI_LINE_2
444 * @arg @ref LL_EXTI_LINE_3
445 * @arg @ref LL_EXTI_LINE_4
446 * @arg @ref LL_EXTI_LINE_5
447 * @arg @ref LL_EXTI_LINE_6
448 * @arg @ref LL_EXTI_LINE_7
449 * @arg @ref LL_EXTI_LINE_8
450 * @arg @ref LL_EXTI_LINE_9
451 * @arg @ref LL_EXTI_LINE_10
452 * @arg @ref LL_EXTI_LINE_11
453 * @arg @ref LL_EXTI_LINE_12
454 * @arg @ref LL_EXTI_LINE_13
455 * @arg @ref LL_EXTI_LINE_14
456 * @arg @ref LL_EXTI_LINE_15
457 * @arg @ref LL_EXTI_LINE_16
458 * @arg @ref LL_EXTI_LINE_17
459 * @arg @ref LL_EXTI_LINE_18
460 * @arg @ref LL_EXTI_LINE_19
461 * @arg @ref LL_EXTI_LINE_20
462 * @arg @ref LL_EXTI_LINE_21
463 * @arg @ref LL_EXTI_LINE_22
464 * @arg @ref LL_EXTI_LINE_23
465 * @arg @ref LL_EXTI_LINE_24
466 * @arg @ref LL_EXTI_LINE_25
467 * @arg @ref LL_EXTI_LINE_26
468 * @arg @ref LL_EXTI_LINE_27
469 * @arg @ref LL_EXTI_LINE_28
470 * @arg @ref LL_EXTI_LINE_29
471 * @arg @ref LL_EXTI_LINE_30
472 * @arg @ref LL_EXTI_LINE_31
473 * @arg @ref LL_EXTI_LINE_ALL_0_31
476 __STATIC_INLINE
void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine
)
478 CLEAR_BIT(EXTI
->IMR1
, ExtiLine
);
483 * @brief Disable ExtiLine Interrupt request for Lines in range 32 to 63
484 * @rmtoll IMR2 IMx LL_EXTI_DisableIT_32_63
485 * @param ExtiLine This parameter can be one of the following values:
486 * @arg @ref LL_EXTI_LINE_32
487 * @arg @ref LL_EXTI_LINE_33
488 * @arg @ref LL_EXTI_LINE_34
489 * @arg @ref LL_EXTI_LINE_35
490 * @arg @ref LL_EXTI_LINE_36
491 * @arg @ref LL_EXTI_LINE_37
492 * @arg @ref LL_EXTI_LINE_38
493 * @arg @ref LL_EXTI_LINE_39
494 * @arg @ref LL_EXTI_LINE_40
495 * @arg @ref LL_EXTI_LINE_41
496 * @arg @ref LL_EXTI_LINE_42
497 * @arg @ref LL_EXTI_LINE_43
498 * @arg @ref LL_EXTI_LINE_44
499 * @arg @ref LL_EXTI_LINE_46
500 * @arg @ref LL_EXTI_LINE_47
501 * @arg @ref LL_EXTI_LINE_48
502 * @arg @ref LL_EXTI_LINE_49
503 * @arg @ref LL_EXTI_LINE_50
504 * @arg @ref LL_EXTI_LINE_51
505 * @arg @ref LL_EXTI_LINE_52
506 * @arg @ref LL_EXTI_LINE_53
507 * @arg @ref LL_EXTI_LINE_54
508 * @arg @ref LL_EXTI_LINE_55
509 * @arg @ref LL_EXTI_LINE_56
510 * @arg @ref LL_EXTI_LINE_57
511 * @arg @ref LL_EXTI_LINE_58
512 * @arg @ref LL_EXTI_LINE_59
513 * @arg @ref LL_EXTI_LINE_60
514 * @arg @ref LL_EXTI_LINE_61
515 * @arg @ref LL_EXTI_LINE_62
516 * @arg @ref LL_EXTI_LINE_63
517 * @arg @ref LL_EXTI_LINE_ALL_32_63
520 __STATIC_INLINE
void LL_EXTI_DisableIT_32_63(uint32_t ExtiLine
)
522 CLEAR_BIT(EXTI
->IMR2
, ExtiLine
);
526 * @brief Disable ExtiLine Interrupt request for Lines in range 64 to 95
527 * @rmtoll IMR3 IMx LL_EXTI_DisableIT_64_95
528 * @param ExtiLine This parameter can be one of the following values:
529 * @arg @ref LL_EXTI_LINE_64
530 * @arg @ref LL_EXTI_LINE_65
531 * @arg @ref LL_EXTI_LINE_66
532 * @arg @ref LL_EXTI_LINE_67
533 * @arg @ref LL_EXTI_LINE_68
534 * @arg @ref LL_EXTI_LINE_69
535 * @arg @ref LL_EXTI_LINE_70
536 * @arg @ref LL_EXTI_LINE_71
537 * @arg @ref LL_EXTI_LINE_72
538 * @arg @ref LL_EXTI_LINE_73
539 * @arg @ref LL_EXTI_LINE_74
540 * @arg @ref LL_EXTI_LINE_75
541 * @arg @ref LL_EXTI_LINE_76
542 * @arg @ref LL_EXTI_LINE_77
543 * @arg @ref LL_EXTI_LINE_78
544 * @arg @ref LL_EXTI_LINE_79
545 * @arg @ref LL_EXTI_LINE_80
546 * @arg @ref LL_EXTI_LINE_82
547 * @arg @ref LL_EXTI_LINE_84
548 * @arg @ref LL_EXTI_LINE_85
549 * @arg @ref LL_EXTI_LINE_86
550 * @arg @ref LL_EXTI_LINE_87
551 * @arg @ref LL_EXTI_LINE_ALL_64_95
554 __STATIC_INLINE
void LL_EXTI_DisableIT_64_95(uint32_t ExtiLine
)
556 CLEAR_BIT(EXTI
->IMR3
, ExtiLine
);
561 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31
562 * @rmtoll IMR1 IMx LL_EXTI_IsEnabledIT_0_31
563 * @param ExtiLine This parameter can be one of the following values:
564 * @arg @ref LL_EXTI_LINE_0
565 * @arg @ref LL_EXTI_LINE_1
566 * @arg @ref LL_EXTI_LINE_2
567 * @arg @ref LL_EXTI_LINE_3
568 * @arg @ref LL_EXTI_LINE_4
569 * @arg @ref LL_EXTI_LINE_5
570 * @arg @ref LL_EXTI_LINE_6
571 * @arg @ref LL_EXTI_LINE_7
572 * @arg @ref LL_EXTI_LINE_8
573 * @arg @ref LL_EXTI_LINE_9
574 * @arg @ref LL_EXTI_LINE_10
575 * @arg @ref LL_EXTI_LINE_11
576 * @arg @ref LL_EXTI_LINE_12
577 * @arg @ref LL_EXTI_LINE_13
578 * @arg @ref LL_EXTI_LINE_14
579 * @arg @ref LL_EXTI_LINE_15
580 * @arg @ref LL_EXTI_LINE_16
581 * @arg @ref LL_EXTI_LINE_17
582 * @arg @ref LL_EXTI_LINE_18
583 * @arg @ref LL_EXTI_LINE_19
584 * @arg @ref LL_EXTI_LINE_20
585 * @arg @ref LL_EXTI_LINE_21
586 * @arg @ref LL_EXTI_LINE_22
587 * @arg @ref LL_EXTI_LINE_23
588 * @arg @ref LL_EXTI_LINE_24
589 * @arg @ref LL_EXTI_LINE_25
590 * @arg @ref LL_EXTI_LINE_26
591 * @arg @ref LL_EXTI_LINE_27
592 * @arg @ref LL_EXTI_LINE_28
593 * @arg @ref LL_EXTI_LINE_29
594 * @arg @ref LL_EXTI_LINE_30
595 * @arg @ref LL_EXTI_LINE_31
596 * @arg @ref LL_EXTI_LINE_ALL_0_31
597 * @retval State of bit (1 or 0).
599 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine
)
601 return ((READ_BIT(EXTI
->IMR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
606 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63
607 * @rmtoll IMR2 IMx LL_EXTI_IsEnabledIT_32_63
608 * @param ExtiLine This parameter can be one of the following values:
609 * @arg @ref LL_EXTI_LINE_32
610 * @arg @ref LL_EXTI_LINE_33
611 * @arg @ref LL_EXTI_LINE_34
612 * @arg @ref LL_EXTI_LINE_35
613 * @arg @ref LL_EXTI_LINE_36
614 * @arg @ref LL_EXTI_LINE_37
615 * @arg @ref LL_EXTI_LINE_38
616 * @arg @ref LL_EXTI_LINE_39
617 * @arg @ref LL_EXTI_LINE_40
618 * @arg @ref LL_EXTI_LINE_41
619 * @arg @ref LL_EXTI_LINE_42
620 * @arg @ref LL_EXTI_LINE_43
621 * @arg @ref LL_EXTI_LINE_44
622 * @arg @ref LL_EXTI_LINE_46
623 * @arg @ref LL_EXTI_LINE_47
624 * @arg @ref LL_EXTI_LINE_48
625 * @arg @ref LL_EXTI_LINE_49
626 * @arg @ref LL_EXTI_LINE_50
627 * @arg @ref LL_EXTI_LINE_51
628 * @arg @ref LL_EXTI_LINE_52
629 * @arg @ref LL_EXTI_LINE_53
630 * @arg @ref LL_EXTI_LINE_54
631 * @arg @ref LL_EXTI_LINE_55
632 * @arg @ref LL_EXTI_LINE_56
633 * @arg @ref LL_EXTI_LINE_57
634 * @arg @ref LL_EXTI_LINE_58
635 * @arg @ref LL_EXTI_LINE_59
636 * @arg @ref LL_EXTI_LINE_60
637 * @arg @ref LL_EXTI_LINE_61
638 * @arg @ref LL_EXTI_LINE_62
639 * @arg @ref LL_EXTI_LINE_63
640 * @arg @ref LL_EXTI_LINE_ALL_32_63
641 * @retval State of bit (1 or 0).
643 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine
)
645 return ((READ_BIT(EXTI
->IMR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
650 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 64 to 95
651 * @rmtoll IMR3 IMx LL_EXTI_IsEnabledIT_64_95
652 * @param ExtiLine This parameter can be one of the following values:
653 * @arg @ref LL_EXTI_LINE_64
654 * @arg @ref LL_EXTI_LINE_65
655 * @arg @ref LL_EXTI_LINE_66
656 * @arg @ref LL_EXTI_LINE_67
657 * @arg @ref LL_EXTI_LINE_68
658 * @arg @ref LL_EXTI_LINE_69
659 * @arg @ref LL_EXTI_LINE_70
660 * @arg @ref LL_EXTI_LINE_71
661 * @arg @ref LL_EXTI_LINE_72
662 * @arg @ref LL_EXTI_LINE_73
663 * @arg @ref LL_EXTI_LINE_74
664 * @arg @ref LL_EXTI_LINE_75
665 * @arg @ref LL_EXTI_LINE_76
666 * @arg @ref LL_EXTI_LINE_77
667 * @arg @ref LL_EXTI_LINE_78
668 * @arg @ref LL_EXTI_LINE_79
669 * @arg @ref LL_EXTI_LINE_80
670 * @arg @ref LL_EXTI_LINE_82
671 * @arg @ref LL_EXTI_LINE_84
672 * @arg @ref LL_EXTI_LINE_85
673 * @arg @ref LL_EXTI_LINE_86
674 * @arg @ref LL_EXTI_LINE_87
675 * @arg @ref LL_EXTI_LINE_ALL_64_95
676 * @retval State of bit (1 or 0).
678 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine
)
680 return ((READ_BIT(EXTI
->IMR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
683 #if defined(DUAL_CORE)
685 * @brief Enable ExtiLine Interrupt request for Lines in range 0 to 31 for cpu2
686 * @rmtoll C2IMR1 IMx LL_C2_EXTI_EnableIT_0_31
687 * @param ExtiLine This parameter can be one of the following values:
688 * @arg @ref LL_EXTI_LINE_0
689 * @arg @ref LL_EXTI_LINE_1
690 * @arg @ref LL_EXTI_LINE_2
691 * @arg @ref LL_EXTI_LINE_3
692 * @arg @ref LL_EXTI_LINE_4
693 * @arg @ref LL_EXTI_LINE_5
694 * @arg @ref LL_EXTI_LINE_6
695 * @arg @ref LL_EXTI_LINE_7
696 * @arg @ref LL_EXTI_LINE_8
697 * @arg @ref LL_EXTI_LINE_9
698 * @arg @ref LL_EXTI_LINE_10
699 * @arg @ref LL_EXTI_LINE_11
700 * @arg @ref LL_EXTI_LINE_12
701 * @arg @ref LL_EXTI_LINE_13
702 * @arg @ref LL_EXTI_LINE_14
703 * @arg @ref LL_EXTI_LINE_15
704 * @arg @ref LL_EXTI_LINE_16
705 * @arg @ref LL_EXTI_LINE_17
706 * @arg @ref LL_EXTI_LINE_18
707 * @arg @ref LL_EXTI_LINE_19
708 * @arg @ref LL_EXTI_LINE_20
709 * @arg @ref LL_EXTI_LINE_21
710 * @arg @ref LL_EXTI_LINE_22
711 * @arg @ref LL_EXTI_LINE_23
712 * @arg @ref LL_EXTI_LINE_24
713 * @arg @ref LL_EXTI_LINE_25
714 * @arg @ref LL_EXTI_LINE_26
715 * @arg @ref LL_EXTI_LINE_27
716 * @arg @ref LL_EXTI_LINE_28
717 * @arg @ref LL_EXTI_LINE_29
718 * @arg @ref LL_EXTI_LINE_30
719 * @arg @ref LL_EXTI_LINE_31
720 * @arg @ref LL_EXTI_LINE_ALL_0_31
723 __STATIC_INLINE
void LL_C2_EXTI_EnableIT_0_31(uint32_t ExtiLine
)
725 SET_BIT(EXTI
->C2IMR1
, ExtiLine
);
730 * @brief Enable ExtiLine Interrupt request for Lines in range 32 to 63 for cpu2
731 * @rmtoll C2IMR2 IMx LL_C2_EXTI_EnableIT_32_63
732 * @param ExtiLine This parameter can be one of the following values:
733 * @arg @ref LL_EXTI_LINE_32
734 * @arg @ref LL_EXTI_LINE_33
735 * @arg @ref LL_EXTI_LINE_34
736 * @arg @ref LL_EXTI_LINE_35
737 * @arg @ref LL_EXTI_LINE_36
738 * @arg @ref LL_EXTI_LINE_37
739 * @arg @ref LL_EXTI_LINE_38
740 * @arg @ref LL_EXTI_LINE_39
741 * @arg @ref LL_EXTI_LINE_40
742 * @arg @ref LL_EXTI_LINE_41
743 * @arg @ref LL_EXTI_LINE_42
744 * @arg @ref LL_EXTI_LINE_43
745 * @arg @ref LL_EXTI_LINE_44
746 * @arg @ref LL_EXTI_LINE_46
747 * @arg @ref LL_EXTI_LINE_47
748 * @arg @ref LL_EXTI_LINE_48
749 * @arg @ref LL_EXTI_LINE_49
750 * @arg @ref LL_EXTI_LINE_50
751 * @arg @ref LL_EXTI_LINE_51
752 * @arg @ref LL_EXTI_LINE_52
753 * @arg @ref LL_EXTI_LINE_53
754 * @arg @ref LL_EXTI_LINE_54
755 * @arg @ref LL_EXTI_LINE_55
756 * @arg @ref LL_EXTI_LINE_56
757 * @arg @ref LL_EXTI_LINE_57
758 * @arg @ref LL_EXTI_LINE_58
759 * @arg @ref LL_EXTI_LINE_59
760 * @arg @ref LL_EXTI_LINE_60
761 * @arg @ref LL_EXTI_LINE_61
762 * @arg @ref LL_EXTI_LINE_62
763 * @arg @ref LL_EXTI_LINE_63
764 * @arg @ref LL_EXTI_LINE_ALL_32_63
767 __STATIC_INLINE
void LL_C2_EXTI_EnableIT_32_63(uint32_t ExtiLine
)
769 SET_BIT(EXTI
->C2IMR2
, ExtiLine
);
774 * @brief Enable ExtiLine Interrupt request for Lines in range 64 to 95
775 * @rmtoll C2IMR3 IMx LL_C2_EXTI_EnableIT_64_95
776 * @param ExtiLine This parameter can be one of the following values:
777 * @arg @ref LL_EXTI_LINE_64
778 * @arg @ref LL_EXTI_LINE_65
779 * @arg @ref LL_EXTI_LINE_66
780 * @arg @ref LL_EXTI_LINE_67
781 * @arg @ref LL_EXTI_LINE_68
782 * @arg @ref LL_EXTI_LINE_69
783 * @arg @ref LL_EXTI_LINE_70
784 * @arg @ref LL_EXTI_LINE_71
785 * @arg @ref LL_EXTI_LINE_72
786 * @arg @ref LL_EXTI_LINE_73
787 * @arg @ref LL_EXTI_LINE_74
788 * @arg @ref LL_EXTI_LINE_75
789 * @arg @ref LL_EXTI_LINE_76
790 * @arg @ref LL_EXTI_LINE_77
791 * @arg @ref LL_EXTI_LINE_78
792 * @arg @ref LL_EXTI_LINE_79
793 * @arg @ref LL_EXTI_LINE_80
794 * @arg @ref LL_EXTI_LINE_82
795 * @arg @ref LL_EXTI_LINE_84
796 * @arg @ref LL_EXTI_LINE_85
797 * @arg @ref LL_EXTI_LINE_86
798 * @arg @ref LL_EXTI_LINE_87
799 * @arg @ref LL_EXTI_LINE_ALL_64_95
802 __STATIC_INLINE
void LL_C2_EXTI_EnableIT_64_95(uint32_t ExtiLine
)
804 SET_BIT(EXTI
->C2IMR3
, ExtiLine
);
809 * @brief Disable ExtiLine Interrupt request for Lines in range 0 to 31 for cpu2
810 * @rmtoll C2IMR1 IMx LL_C2_EXTI_DisableIT_0_31
811 * @param ExtiLine This parameter can be one of the following values:
812 * @arg @ref LL_EXTI_LINE_0
813 * @arg @ref LL_EXTI_LINE_1
814 * @arg @ref LL_EXTI_LINE_2
815 * @arg @ref LL_EXTI_LINE_3
816 * @arg @ref LL_EXTI_LINE_4
817 * @arg @ref LL_EXTI_LINE_5
818 * @arg @ref LL_EXTI_LINE_6
819 * @arg @ref LL_EXTI_LINE_7
820 * @arg @ref LL_EXTI_LINE_8
821 * @arg @ref LL_EXTI_LINE_9
822 * @arg @ref LL_EXTI_LINE_10
823 * @arg @ref LL_EXTI_LINE_11
824 * @arg @ref LL_EXTI_LINE_12
825 * @arg @ref LL_EXTI_LINE_13
826 * @arg @ref LL_EXTI_LINE_14
827 * @arg @ref LL_EXTI_LINE_15
828 * @arg @ref LL_EXTI_LINE_16
829 * @arg @ref LL_EXTI_LINE_17
830 * @arg @ref LL_EXTI_LINE_18
831 * @arg @ref LL_EXTI_LINE_19
832 * @arg @ref LL_EXTI_LINE_20
833 * @arg @ref LL_EXTI_LINE_21
834 * @arg @ref LL_EXTI_LINE_22
835 * @arg @ref LL_EXTI_LINE_23
836 * @arg @ref LL_EXTI_LINE_24
837 * @arg @ref LL_EXTI_LINE_25
838 * @arg @ref LL_EXTI_LINE_26
839 * @arg @ref LL_EXTI_LINE_27
840 * @arg @ref LL_EXTI_LINE_28
841 * @arg @ref LL_EXTI_LINE_29
842 * @arg @ref LL_EXTI_LINE_30
843 * @arg @ref LL_EXTI_LINE_31
844 * @arg @ref LL_EXTI_LINE_ALL_0_31
847 __STATIC_INLINE
void LL_C2_EXTI_DisableIT_0_31(uint32_t ExtiLine
)
849 CLEAR_BIT(EXTI
->C2IMR1
, ExtiLine
);
855 * @brief Disable ExtiLine Interrupt request for Lines in range 32 to 63 for cpu2
856 * @rmtoll C2IMR2 IMx LL_C2_EXTI_DisableIT_32_63
857 * @param ExtiLine This parameter can be one of the following values:
858 * @arg @ref LL_EXTI_LINE_32
859 * @arg @ref LL_EXTI_LINE_33
860 * @arg @ref LL_EXTI_LINE_34
861 * @arg @ref LL_EXTI_LINE_35
862 * @arg @ref LL_EXTI_LINE_36
863 * @arg @ref LL_EXTI_LINE_37
864 * @arg @ref LL_EXTI_LINE_38
865 * @arg @ref LL_EXTI_LINE_39
866 * @arg @ref LL_EXTI_LINE_40
867 * @arg @ref LL_EXTI_LINE_41
868 * @arg @ref LL_EXTI_LINE_42
869 * @arg @ref LL_EXTI_LINE_43
870 * @arg @ref LL_EXTI_LINE_44
871 * @arg @ref LL_EXTI_LINE_46
872 * @arg @ref LL_EXTI_LINE_47
873 * @arg @ref LL_EXTI_LINE_48
874 * @arg @ref LL_EXTI_LINE_49
875 * @arg @ref LL_EXTI_LINE_50
876 * @arg @ref LL_EXTI_LINE_51
877 * @arg @ref LL_EXTI_LINE_52
878 * @arg @ref LL_EXTI_LINE_53
879 * @arg @ref LL_EXTI_LINE_54
880 * @arg @ref LL_EXTI_LINE_55
881 * @arg @ref LL_EXTI_LINE_56
882 * @arg @ref LL_EXTI_LINE_57
883 * @arg @ref LL_EXTI_LINE_58
884 * @arg @ref LL_EXTI_LINE_59
885 * @arg @ref LL_EXTI_LINE_60
886 * @arg @ref LL_EXTI_LINE_61
887 * @arg @ref LL_EXTI_LINE_62
888 * @arg @ref LL_EXTI_LINE_63
889 * @arg @ref LL_EXTI_LINE_ALL_32_63
892 __STATIC_INLINE
void LL_C2_EXTI_DisableIT_32_63(uint32_t ExtiLine
)
894 CLEAR_BIT(EXTI
->C2IMR2
, ExtiLine
);
899 * @brief Disable ExtiLine Interrupt request for Lines in range 64 to 95 for cpu2
900 * @rmtoll C2IMR3 IMx LL_C2_EXTI_DisableIT_64_95
901 * @param ExtiLine This parameter can be one of the following values:
902 * @arg @ref LL_EXTI_LINE_64
903 * @arg @ref LL_EXTI_LINE_65
904 * @arg @ref LL_EXTI_LINE_66
905 * @arg @ref LL_EXTI_LINE_67
906 * @arg @ref LL_EXTI_LINE_68
907 * @arg @ref LL_EXTI_LINE_69
908 * @arg @ref LL_EXTI_LINE_70
909 * @arg @ref LL_EXTI_LINE_71
910 * @arg @ref LL_EXTI_LINE_72
911 * @arg @ref LL_EXTI_LINE_73
912 * @arg @ref LL_EXTI_LINE_74
913 * @arg @ref LL_EXTI_LINE_75
914 * @arg @ref LL_EXTI_LINE_76
915 * @arg @ref LL_EXTI_LINE_77
916 * @arg @ref LL_EXTI_LINE_78
917 * @arg @ref LL_EXTI_LINE_79
918 * @arg @ref LL_EXTI_LINE_80
919 * @arg @ref LL_EXTI_LINE_82
920 * @arg @ref LL_EXTI_LINE_84
921 * @arg @ref LL_EXTI_LINE_85
922 * @arg @ref LL_EXTI_LINE_86
923 * @arg @ref LL_EXTI_LINE_87
924 * @arg @ref LL_EXTI_LINE_ALL_64_95
927 __STATIC_INLINE
void LL_C2_EXTI_DisableIT_64_95(uint32_t ExtiLine
)
929 CLEAR_BIT(EXTI
->C2IMR3
, ExtiLine
);
934 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31 for cpu2
935 * @rmtoll C2IMR1 IMx LL_C2_EXTI_IsEnabledIT_0_31
936 * @param ExtiLine This parameter can be one of the following values:
937 * @arg @ref LL_EXTI_LINE_0
938 * @arg @ref LL_EXTI_LINE_1
939 * @arg @ref LL_EXTI_LINE_2
940 * @arg @ref LL_EXTI_LINE_3
941 * @arg @ref LL_EXTI_LINE_4
942 * @arg @ref LL_EXTI_LINE_5
943 * @arg @ref LL_EXTI_LINE_6
944 * @arg @ref LL_EXTI_LINE_7
945 * @arg @ref LL_EXTI_LINE_8
946 * @arg @ref LL_EXTI_LINE_9
947 * @arg @ref LL_EXTI_LINE_10
948 * @arg @ref LL_EXTI_LINE_11
949 * @arg @ref LL_EXTI_LINE_12
950 * @arg @ref LL_EXTI_LINE_13
951 * @arg @ref LL_EXTI_LINE_14
952 * @arg @ref LL_EXTI_LINE_15
953 * @arg @ref LL_EXTI_LINE_16
954 * @arg @ref LL_EXTI_LINE_17
955 * @arg @ref LL_EXTI_LINE_18
956 * @arg @ref LL_EXTI_LINE_19
957 * @arg @ref LL_EXTI_LINE_20
958 * @arg @ref LL_EXTI_LINE_21
959 * @arg @ref LL_EXTI_LINE_22
960 * @arg @ref LL_EXTI_LINE_23
961 * @arg @ref LL_EXTI_LINE_24
962 * @arg @ref LL_EXTI_LINE_25
963 * @arg @ref LL_EXTI_LINE_26
964 * @arg @ref LL_EXTI_LINE_27
965 * @arg @ref LL_EXTI_LINE_28
966 * @arg @ref LL_EXTI_LINE_29
967 * @arg @ref LL_EXTI_LINE_30
968 * @arg @ref LL_EXTI_LINE_31
969 * @arg @ref LL_EXTI_LINE_ALL_0_31
970 * @retval State of bit (1 or 0).
972 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine
)
974 return ((READ_BIT(EXTI
->C2IMR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
979 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63 for cpu2
980 * @rmtoll C2IMR2 IMx LL_C2_EXTI_IsEnabledIT_32_63
981 * @param ExtiLine This parameter can be one of the following values:
982 * @arg @ref LL_EXTI_LINE_32
983 * @arg @ref LL_EXTI_LINE_33
984 * @arg @ref LL_EXTI_LINE_34
985 * @arg @ref LL_EXTI_LINE_35
986 * @arg @ref LL_EXTI_LINE_36
987 * @arg @ref LL_EXTI_LINE_37
988 * @arg @ref LL_EXTI_LINE_38
989 * @arg @ref LL_EXTI_LINE_39
990 * @arg @ref LL_EXTI_LINE_40
991 * @arg @ref LL_EXTI_LINE_41
992 * @arg @ref LL_EXTI_LINE_42
993 * @arg @ref LL_EXTI_LINE_43
994 * @arg @ref LL_EXTI_LINE_44
995 * @arg @ref LL_EXTI_LINE_46
996 * @arg @ref LL_EXTI_LINE_47
997 * @arg @ref LL_EXTI_LINE_48
998 * @arg @ref LL_EXTI_LINE_49
999 * @arg @ref LL_EXTI_LINE_50
1000 * @arg @ref LL_EXTI_LINE_51
1001 * @arg @ref LL_EXTI_LINE_52
1002 * @arg @ref LL_EXTI_LINE_53
1003 * @arg @ref LL_EXTI_LINE_54
1004 * @arg @ref LL_EXTI_LINE_55
1005 * @arg @ref LL_EXTI_LINE_56
1006 * @arg @ref LL_EXTI_LINE_57
1007 * @arg @ref LL_EXTI_LINE_58
1008 * @arg @ref LL_EXTI_LINE_59
1009 * @arg @ref LL_EXTI_LINE_60
1010 * @arg @ref LL_EXTI_LINE_61
1011 * @arg @ref LL_EXTI_LINE_62
1012 * @arg @ref LL_EXTI_LINE_63
1013 * @arg @ref LL_EXTI_LINE_ALL_32_63
1014 * @retval State of bit (1 or 0).
1016 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine
)
1018 return ((READ_BIT(EXTI
->C2IMR2
, ExtiLine
) == (ExtiLine
))? 1U : 0U);
1023 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 64 to 95
1024 * @rmtoll C2IMR3 IMx LL_C2_EXTI_IsEnabledIT_64_95
1025 * @param ExtiLine This parameter can be one of the following values:
1026 * @arg @ref LL_EXTI_LINE_64
1027 * @arg @ref LL_EXTI_LINE_65
1028 * @arg @ref LL_EXTI_LINE_66
1029 * @arg @ref LL_EXTI_LINE_67
1030 * @arg @ref LL_EXTI_LINE_68
1031 * @arg @ref LL_EXTI_LINE_69
1032 * @arg @ref LL_EXTI_LINE_70
1033 * @arg @ref LL_EXTI_LINE_71
1034 * @arg @ref LL_EXTI_LINE_72
1035 * @arg @ref LL_EXTI_LINE_73
1036 * @arg @ref LL_EXTI_LINE_74
1037 * @arg @ref LL_EXTI_LINE_75
1038 * @arg @ref LL_EXTI_LINE_76
1039 * @arg @ref LL_EXTI_LINE_77
1040 * @arg @ref LL_EXTI_LINE_78
1041 * @arg @ref LL_EXTI_LINE_79
1042 * @arg @ref LL_EXTI_LINE_80
1043 * @arg @ref LL_EXTI_LINE_82
1044 * @arg @ref LL_EXTI_LINE_84
1045 * @arg @ref LL_EXTI_LINE_85
1046 * @arg @ref LL_EXTI_LINE_86
1047 * @arg @ref LL_EXTI_LINE_87
1048 * @arg @ref LL_EXTI_LINE_ALL_64_95
1049 * @retval State of bit (1 or 0).
1051 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine
)
1053 return ((READ_BIT(EXTI
->C2IMR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1056 #endif /* DUAL_CORE */
1063 /** @defgroup EXTI_LL_EF_Event_Management Event_Management
1068 * @brief Enable ExtiLine Event request for Lines in range 0 to 31
1069 * @rmtoll EMR1 EMx LL_EXTI_EnableEvent_0_31
1070 * @param ExtiLine This parameter can be one of the following values:
1071 * @arg @ref LL_EXTI_LINE_0
1072 * @arg @ref LL_EXTI_LINE_1
1073 * @arg @ref LL_EXTI_LINE_2
1074 * @arg @ref LL_EXTI_LINE_3
1075 * @arg @ref LL_EXTI_LINE_4
1076 * @arg @ref LL_EXTI_LINE_5
1077 * @arg @ref LL_EXTI_LINE_6
1078 * @arg @ref LL_EXTI_LINE_7
1079 * @arg @ref LL_EXTI_LINE_8
1080 * @arg @ref LL_EXTI_LINE_9
1081 * @arg @ref LL_EXTI_LINE_10
1082 * @arg @ref LL_EXTI_LINE_11
1083 * @arg @ref LL_EXTI_LINE_12
1084 * @arg @ref LL_EXTI_LINE_13
1085 * @arg @ref LL_EXTI_LINE_14
1086 * @arg @ref LL_EXTI_LINE_15
1087 * @arg @ref LL_EXTI_LINE_16
1088 * @arg @ref LL_EXTI_LINE_17
1089 * @arg @ref LL_EXTI_LINE_18
1090 * @arg @ref LL_EXTI_LINE_19
1091 * @arg @ref LL_EXTI_LINE_20
1092 * @arg @ref LL_EXTI_LINE_21
1093 * @arg @ref LL_EXTI_LINE_22
1094 * @arg @ref LL_EXTI_LINE_23
1095 * @arg @ref LL_EXTI_LINE_24
1096 * @arg @ref LL_EXTI_LINE_25
1097 * @arg @ref LL_EXTI_LINE_26
1098 * @arg @ref LL_EXTI_LINE_27
1099 * @arg @ref LL_EXTI_LINE_28
1100 * @arg @ref LL_EXTI_LINE_29
1101 * @arg @ref LL_EXTI_LINE_30
1102 * @arg @ref LL_EXTI_LINE_31
1103 * @arg @ref LL_EXTI_LINE_ALL_0_31
1106 __STATIC_INLINE
void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine
)
1108 SET_BIT(EXTI
->EMR1
, ExtiLine
);
1112 * @brief Enable ExtiLine Event request for Lines in range 32 to 63
1113 * @rmtoll EMR2 EMx LL_EXTI_EnableEvent_32_63
1114 * @param ExtiLine This parameter can be a combination of the following values:
1115 * @arg @ref LL_EXTI_LINE_32
1116 * @arg @ref LL_EXTI_LINE_33
1117 * @arg @ref LL_EXTI_LINE_34
1118 * @arg @ref LL_EXTI_LINE_35
1119 * @arg @ref LL_EXTI_LINE_36
1120 * @arg @ref LL_EXTI_LINE_37
1121 * @arg @ref LL_EXTI_LINE_38
1122 * @arg @ref LL_EXTI_LINE_39
1123 * @arg @ref LL_EXTI_LINE_40
1124 * @arg @ref LL_EXTI_LINE_41
1125 * @arg @ref LL_EXTI_LINE_42
1126 * @arg @ref LL_EXTI_LINE_43
1127 * @arg @ref LL_EXTI_LINE_44
1128 * @arg @ref LL_EXTI_LINE_46
1129 * @arg @ref LL_EXTI_LINE_47
1130 * @arg @ref LL_EXTI_LINE_48
1131 * @arg @ref LL_EXTI_LINE_49
1132 * @arg @ref LL_EXTI_LINE_50
1133 * @arg @ref LL_EXTI_LINE_51
1134 * @arg @ref LL_EXTI_LINE_52
1135 * @arg @ref LL_EXTI_LINE_53
1136 * @arg @ref LL_EXTI_LINE_54
1137 * @arg @ref LL_EXTI_LINE_55
1138 * @arg @ref LL_EXTI_LINE_56
1139 * @arg @ref LL_EXTI_LINE_57
1140 * @arg @ref LL_EXTI_LINE_58
1141 * @arg @ref LL_EXTI_LINE_59
1142 * @arg @ref LL_EXTI_LINE_60
1143 * @arg @ref LL_EXTI_LINE_61
1144 * @arg @ref LL_EXTI_LINE_62
1145 * @arg @ref LL_EXTI_LINE_63
1146 * @arg @ref LL_EXTI_LINE_ALL_32_63
1149 __STATIC_INLINE
void LL_EXTI_EnableEvent_32_63(uint32_t ExtiLine
)
1151 SET_BIT(EXTI
->EMR2
, ExtiLine
);
1155 * @brief Enable ExtiLine Event request for Lines in range 64 to 95
1156 * @rmtoll EMR3 EMx LL_EXTI_EnableEvent_64_95
1157 * @param ExtiLine This parameter can be a combination of the following values:
1158 * @arg @ref LL_EXTI_LINE_64
1159 * @arg @ref LL_EXTI_LINE_65
1160 * @arg @ref LL_EXTI_LINE_66
1161 * @arg @ref LL_EXTI_LINE_67
1162 * @arg @ref LL_EXTI_LINE_68
1163 * @arg @ref LL_EXTI_LINE_69
1164 * @arg @ref LL_EXTI_LINE_70
1165 * @arg @ref LL_EXTI_LINE_71
1166 * @arg @ref LL_EXTI_LINE_72
1167 * @arg @ref LL_EXTI_LINE_73
1168 * @arg @ref LL_EXTI_LINE_74
1169 * @arg @ref LL_EXTI_LINE_75
1170 * @arg @ref LL_EXTI_LINE_76
1171 * @arg @ref LL_EXTI_LINE_77
1172 * @arg @ref LL_EXTI_LINE_78
1173 * @arg @ref LL_EXTI_LINE_79
1174 * @arg @ref LL_EXTI_LINE_80
1175 * @arg @ref LL_EXTI_LINE_82
1176 * @arg @ref LL_EXTI_LINE_84
1177 * @arg @ref LL_EXTI_LINE_85
1178 * @arg @ref LL_EXTI_LINE_86
1179 * @arg @ref LL_EXTI_LINE_87
1180 * @arg @ref LL_EXTI_LINE_ALL_64_95
1183 __STATIC_INLINE
void LL_EXTI_EnableEvent_64_95(uint32_t ExtiLine
)
1185 SET_BIT(EXTI
->EMR3
, ExtiLine
);
1189 * @brief Disable ExtiLine Event request for Lines in range 0 to 31
1190 * @rmtoll EMR1 EMx LL_EXTI_DisableEvent_0_31
1191 * @param ExtiLine This parameter can be one of the following values:
1192 * @arg @ref LL_EXTI_LINE_0
1193 * @arg @ref LL_EXTI_LINE_1
1194 * @arg @ref LL_EXTI_LINE_2
1195 * @arg @ref LL_EXTI_LINE_3
1196 * @arg @ref LL_EXTI_LINE_4
1197 * @arg @ref LL_EXTI_LINE_5
1198 * @arg @ref LL_EXTI_LINE_6
1199 * @arg @ref LL_EXTI_LINE_7
1200 * @arg @ref LL_EXTI_LINE_8
1201 * @arg @ref LL_EXTI_LINE_9
1202 * @arg @ref LL_EXTI_LINE_10
1203 * @arg @ref LL_EXTI_LINE_11
1204 * @arg @ref LL_EXTI_LINE_12
1205 * @arg @ref LL_EXTI_LINE_13
1206 * @arg @ref LL_EXTI_LINE_14
1207 * @arg @ref LL_EXTI_LINE_15
1208 * @arg @ref LL_EXTI_LINE_16
1209 * @arg @ref LL_EXTI_LINE_17
1210 * @arg @ref LL_EXTI_LINE_18
1211 * @arg @ref LL_EXTI_LINE_19
1212 * @arg @ref LL_EXTI_LINE_20
1213 * @arg @ref LL_EXTI_LINE_21
1214 * @arg @ref LL_EXTI_LINE_22
1215 * @arg @ref LL_EXTI_LINE_23
1216 * @arg @ref LL_EXTI_LINE_24
1217 * @arg @ref LL_EXTI_LINE_25
1218 * @arg @ref LL_EXTI_LINE_26
1219 * @arg @ref LL_EXTI_LINE_27
1220 * @arg @ref LL_EXTI_LINE_28
1221 * @arg @ref LL_EXTI_LINE_29
1222 * @arg @ref LL_EXTI_LINE_30
1223 * @arg @ref LL_EXTI_LINE_31
1224 * @arg @ref LL_EXTI_LINE_ALL_0_31
1227 __STATIC_INLINE
void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine
)
1229 CLEAR_BIT(EXTI
->EMR1
, ExtiLine
);
1233 * @brief Disable ExtiLine Event request for Lines in range 32 to 63
1234 * @rmtoll EMR2 EMx LL_EXTI_DisableEvent_32_63
1235 * @param ExtiLine This parameter can be a combination of the following values:
1236 * @arg @ref LL_EXTI_LINE_32
1237 * @arg @ref LL_EXTI_LINE_33
1238 * @arg @ref LL_EXTI_LINE_34
1239 * @arg @ref LL_EXTI_LINE_35
1240 * @arg @ref LL_EXTI_LINE_36
1241 * @arg @ref LL_EXTI_LINE_37
1242 * @arg @ref LL_EXTI_LINE_38
1243 * @arg @ref LL_EXTI_LINE_39
1244 * @arg @ref LL_EXTI_LINE_40
1245 * @arg @ref LL_EXTI_LINE_41
1246 * @arg @ref LL_EXTI_LINE_42
1247 * @arg @ref LL_EXTI_LINE_43
1248 * @arg @ref LL_EXTI_LINE_44
1249 * @arg @ref LL_EXTI_LINE_46
1250 * @arg @ref LL_EXTI_LINE_47
1251 * @arg @ref LL_EXTI_LINE_48
1252 * @arg @ref LL_EXTI_LINE_49
1253 * @arg @ref LL_EXTI_LINE_50
1254 * @arg @ref LL_EXTI_LINE_51
1255 * @arg @ref LL_EXTI_LINE_52
1256 * @arg @ref LL_EXTI_LINE_53
1257 * @arg @ref LL_EXTI_LINE_54
1258 * @arg @ref LL_EXTI_LINE_55
1259 * @arg @ref LL_EXTI_LINE_56
1260 * @arg @ref LL_EXTI_LINE_57
1261 * @arg @ref LL_EXTI_LINE_58
1262 * @arg @ref LL_EXTI_LINE_59
1263 * @arg @ref LL_EXTI_LINE_60
1264 * @arg @ref LL_EXTI_LINE_61
1265 * @arg @ref LL_EXTI_LINE_62
1266 * @arg @ref LL_EXTI_LINE_63
1267 * @arg @ref LL_EXTI_LINE_ALL_32_63
1270 __STATIC_INLINE
void LL_EXTI_DisableEvent_32_63(uint32_t ExtiLine
)
1272 CLEAR_BIT(EXTI
->EMR2
, ExtiLine
);
1276 * @brief Disable ExtiLine Event request for Lines in range 64 to 95
1277 * @rmtoll EMR3 EMx LL_EXTI_DisableEvent_64_95
1278 * @param ExtiLine This parameter can be a combination of the following values:
1279 * @arg @ref LL_EXTI_LINE_64
1280 * @arg @ref LL_EXTI_LINE_65
1281 * @arg @ref LL_EXTI_LINE_66
1282 * @arg @ref LL_EXTI_LINE_67
1283 * @arg @ref LL_EXTI_LINE_68
1284 * @arg @ref LL_EXTI_LINE_69
1285 * @arg @ref LL_EXTI_LINE_70
1286 * @arg @ref LL_EXTI_LINE_71
1287 * @arg @ref LL_EXTI_LINE_72
1288 * @arg @ref LL_EXTI_LINE_73
1289 * @arg @ref LL_EXTI_LINE_74
1290 * @arg @ref LL_EXTI_LINE_75
1291 * @arg @ref LL_EXTI_LINE_76
1292 * @arg @ref LL_EXTI_LINE_77
1293 * @arg @ref LL_EXTI_LINE_78
1294 * @arg @ref LL_EXTI_LINE_79
1295 * @arg @ref LL_EXTI_LINE_80
1296 * @arg @ref LL_EXTI_LINE_82
1297 * @arg @ref LL_EXTI_LINE_84
1298 * @arg @ref LL_EXTI_LINE_85
1299 * @arg @ref LL_EXTI_LINE_86
1300 * @arg @ref LL_EXTI_LINE_87
1301 * @arg @ref LL_EXTI_LINE_ALL_64_95
1304 __STATIC_INLINE
void LL_EXTI_DisableEvent_64_95(uint32_t ExtiLine
)
1306 CLEAR_BIT(EXTI
->EMR3
, ExtiLine
);
1310 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31
1311 * @rmtoll EMR1 EMx LL_EXTI_IsEnabledEvent_0_31
1312 * @param ExtiLine This parameter can be one of the following values:
1313 * @arg @ref LL_EXTI_LINE_0
1314 * @arg @ref LL_EXTI_LINE_1
1315 * @arg @ref LL_EXTI_LINE_2
1316 * @arg @ref LL_EXTI_LINE_3
1317 * @arg @ref LL_EXTI_LINE_4
1318 * @arg @ref LL_EXTI_LINE_5
1319 * @arg @ref LL_EXTI_LINE_6
1320 * @arg @ref LL_EXTI_LINE_7
1321 * @arg @ref LL_EXTI_LINE_8
1322 * @arg @ref LL_EXTI_LINE_9
1323 * @arg @ref LL_EXTI_LINE_10
1324 * @arg @ref LL_EXTI_LINE_11
1325 * @arg @ref LL_EXTI_LINE_12
1326 * @arg @ref LL_EXTI_LINE_13
1327 * @arg @ref LL_EXTI_LINE_14
1328 * @arg @ref LL_EXTI_LINE_15
1329 * @arg @ref LL_EXTI_LINE_16
1330 * @arg @ref LL_EXTI_LINE_17
1331 * @arg @ref LL_EXTI_LINE_18
1332 * @arg @ref LL_EXTI_LINE_19
1333 * @arg @ref LL_EXTI_LINE_20
1334 * @arg @ref LL_EXTI_LINE_21
1335 * @arg @ref LL_EXTI_LINE_22
1336 * @arg @ref LL_EXTI_LINE_23
1337 * @arg @ref LL_EXTI_LINE_24
1338 * @arg @ref LL_EXTI_LINE_25
1339 * @arg @ref LL_EXTI_LINE_26
1340 * @arg @ref LL_EXTI_LINE_27
1341 * @arg @ref LL_EXTI_LINE_28
1342 * @arg @ref LL_EXTI_LINE_29
1343 * @arg @ref LL_EXTI_LINE_30
1344 * @arg @ref LL_EXTI_LINE_31
1345 * @arg @ref LL_EXTI_LINE_ALL_0_31
1346 * @note Please check each device line mapping for EXTI Line availability
1347 * @retval State of bit (1 or 0).
1349 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine
)
1351 return ((READ_BIT(EXTI
->EMR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1355 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63
1356 * @rmtoll EMR2 EMx LL_EXTI_IsEnabledEvent_32_63
1357 * @param ExtiLine This parameter can be a combination of the following values:
1358 * @arg @ref LL_EXTI_LINE_32
1359 * @arg @ref LL_EXTI_LINE_33
1360 * @arg @ref LL_EXTI_LINE_34
1361 * @arg @ref LL_EXTI_LINE_35
1362 * @arg @ref LL_EXTI_LINE_36
1363 * @arg @ref LL_EXTI_LINE_37
1364 * @arg @ref LL_EXTI_LINE_38
1365 * @arg @ref LL_EXTI_LINE_39
1366 * @arg @ref LL_EXTI_LINE_40
1367 * @arg @ref LL_EXTI_LINE_41
1368 * @arg @ref LL_EXTI_LINE_42
1369 * @arg @ref LL_EXTI_LINE_43
1370 * @arg @ref LL_EXTI_LINE_44
1371 * @arg @ref LL_EXTI_LINE_46
1372 * @arg @ref LL_EXTI_LINE_47
1373 * @arg @ref LL_EXTI_LINE_48
1374 * @arg @ref LL_EXTI_LINE_49
1375 * @arg @ref LL_EXTI_LINE_50
1376 * @arg @ref LL_EXTI_LINE_51
1377 * @arg @ref LL_EXTI_LINE_52
1378 * @arg @ref LL_EXTI_LINE_53
1379 * @arg @ref LL_EXTI_LINE_54
1380 * @arg @ref LL_EXTI_LINE_55
1381 * @arg @ref LL_EXTI_LINE_56
1382 * @arg @ref LL_EXTI_LINE_57
1383 * @arg @ref LL_EXTI_LINE_58
1384 * @arg @ref LL_EXTI_LINE_59
1385 * @arg @ref LL_EXTI_LINE_60
1386 * @arg @ref LL_EXTI_LINE_61
1387 * @arg @ref LL_EXTI_LINE_62
1388 * @arg @ref LL_EXTI_LINE_63
1389 * @arg @ref LL_EXTI_LINE_ALL_32_63
1390 * @retval State of bit (1 or 0).
1392 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine
)
1394 return ((READ_BIT(EXTI
->EMR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1398 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 64 to 95
1399 * @rmtoll EMR3 EMx LL_EXTI_IsEnabledEvent_64_95
1400 * @param ExtiLine This parameter can be a combination of the following values:
1401 * @arg @ref LL_EXTI_LINE_64
1402 * @arg @ref LL_EXTI_LINE_65
1403 * @arg @ref LL_EXTI_LINE_66
1404 * @arg @ref LL_EXTI_LINE_67
1405 * @arg @ref LL_EXTI_LINE_68
1406 * @arg @ref LL_EXTI_LINE_69
1407 * @arg @ref LL_EXTI_LINE_70
1408 * @arg @ref LL_EXTI_LINE_71
1409 * @arg @ref LL_EXTI_LINE_72
1410 * @arg @ref LL_EXTI_LINE_73
1411 * @arg @ref LL_EXTI_LINE_74
1412 * @arg @ref LL_EXTI_LINE_75
1413 * @arg @ref LL_EXTI_LINE_76
1414 * @arg @ref LL_EXTI_LINE_77
1415 * @arg @ref LL_EXTI_LINE_78
1416 * @arg @ref LL_EXTI_LINE_79
1417 * @arg @ref LL_EXTI_LINE_80
1418 * @arg @ref LL_EXTI_LINE_82
1419 * @arg @ref LL_EXTI_LINE_84
1420 * @arg @ref LL_EXTI_LINE_85
1421 * @arg @ref LL_EXTI_LINE_86
1422 * @arg @ref LL_EXTI_LINE_87
1423 * @arg @ref LL_EXTI_LINE_ALL_64_95
1424 * @retval State of bit (1 or 0).
1426 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine
)
1428 return ((READ_BIT(EXTI
->EMR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1431 #if defined(DUAL_CORE)
1434 * @brief Enable ExtiLine Event request for Lines in range 0 to 31 for cpu2
1435 * @rmtoll C2EMR1 EMx LL_C2_EXTI_EnableEvent_0_31
1436 * @param ExtiLine This parameter can be one of the following values:
1437 * @arg @ref LL_EXTI_LINE_0
1438 * @arg @ref LL_EXTI_LINE_1
1439 * @arg @ref LL_EXTI_LINE_2
1440 * @arg @ref LL_EXTI_LINE_3
1441 * @arg @ref LL_EXTI_LINE_4
1442 * @arg @ref LL_EXTI_LINE_5
1443 * @arg @ref LL_EXTI_LINE_6
1444 * @arg @ref LL_EXTI_LINE_7
1445 * @arg @ref LL_EXTI_LINE_8
1446 * @arg @ref LL_EXTI_LINE_9
1447 * @arg @ref LL_EXTI_LINE_10
1448 * @arg @ref LL_EXTI_LINE_11
1449 * @arg @ref LL_EXTI_LINE_12
1450 * @arg @ref LL_EXTI_LINE_13
1451 * @arg @ref LL_EXTI_LINE_14
1452 * @arg @ref LL_EXTI_LINE_15
1453 * @arg @ref LL_EXTI_LINE_16
1454 * @arg @ref LL_EXTI_LINE_17
1455 * @arg @ref LL_EXTI_LINE_18
1456 * @arg @ref LL_EXTI_LINE_19
1457 * @arg @ref LL_EXTI_LINE_20
1458 * @arg @ref LL_EXTI_LINE_21
1459 * @arg @ref LL_EXTI_LINE_22
1460 * @arg @ref LL_EXTI_LINE_23
1461 * @arg @ref LL_EXTI_LINE_24
1462 * @arg @ref LL_EXTI_LINE_25
1463 * @arg @ref LL_EXTI_LINE_26
1464 * @arg @ref LL_EXTI_LINE_27
1465 * @arg @ref LL_EXTI_LINE_28
1466 * @arg @ref LL_EXTI_LINE_29
1467 * @arg @ref LL_EXTI_LINE_30
1468 * @arg @ref LL_EXTI_LINE_31
1469 * @arg @ref LL_EXTI_LINE_ALL_0_31
1472 __STATIC_INLINE
void LL_C2_EXTI_EnableEvent_0_31(uint32_t ExtiLine
)
1474 SET_BIT(EXTI
->C2EMR1
, ExtiLine
);
1479 * @brief Enable ExtiLine Event request for Lines in range 32 to 63 for cpu2
1480 * @rmtoll C2EMR2 EMx LL_C2_EXTI_EnableEvent_32_63
1481 * @param ExtiLine This parameter can be a combination of the following values:
1482 * @arg @ref LL_EXTI_LINE_32
1483 * @arg @ref LL_EXTI_LINE_33
1484 * @arg @ref LL_EXTI_LINE_34
1485 * @arg @ref LL_EXTI_LINE_35
1486 * @arg @ref LL_EXTI_LINE_36
1487 * @arg @ref LL_EXTI_LINE_37
1488 * @arg @ref LL_EXTI_LINE_38
1489 * @arg @ref LL_EXTI_LINE_39
1490 * @arg @ref LL_EXTI_LINE_40
1491 * @arg @ref LL_EXTI_LINE_41
1492 * @arg @ref LL_EXTI_LINE_42
1493 * @arg @ref LL_EXTI_LINE_43
1494 * @arg @ref LL_EXTI_LINE_44
1495 * @arg @ref LL_EXTI_LINE_46
1496 * @arg @ref LL_EXTI_LINE_47
1497 * @arg @ref LL_EXTI_LINE_48
1498 * @arg @ref LL_EXTI_LINE_49
1499 * @arg @ref LL_EXTI_LINE_50
1500 * @arg @ref LL_EXTI_LINE_51
1501 * @arg @ref LL_EXTI_LINE_52
1502 * @arg @ref LL_EXTI_LINE_53
1503 * @arg @ref LL_EXTI_LINE_54
1504 * @arg @ref LL_EXTI_LINE_55
1505 * @arg @ref LL_EXTI_LINE_56
1506 * @arg @ref LL_EXTI_LINE_57
1507 * @arg @ref LL_EXTI_LINE_58
1508 * @arg @ref LL_EXTI_LINE_59
1509 * @arg @ref LL_EXTI_LINE_60
1510 * @arg @ref LL_EXTI_LINE_61
1511 * @arg @ref LL_EXTI_LINE_62
1512 * @arg @ref LL_EXTI_LINE_63
1513 * @arg @ref LL_EXTI_LINE_ALL_32_63
1516 __STATIC_INLINE
void LL_C2_EXTI_EnableEvent_32_63(uint32_t ExtiLine
)
1518 SET_BIT(EXTI
->C2EMR2
, ExtiLine
);
1522 * @brief Enable ExtiLine Event request for Lines in range 64 to 95 for cpu2
1523 * @rmtoll C2EMR3 EMx LL_C2_EXTI_EnableEvent_64_95
1524 * @param ExtiLine This parameter can be a combination of the following values:
1525 * @arg @ref LL_EXTI_LINE_64
1526 * @arg @ref LL_EXTI_LINE_65
1527 * @arg @ref LL_EXTI_LINE_66
1528 * @arg @ref LL_EXTI_LINE_67
1529 * @arg @ref LL_EXTI_LINE_68
1530 * @arg @ref LL_EXTI_LINE_69
1531 * @arg @ref LL_EXTI_LINE_70
1532 * @arg @ref LL_EXTI_LINE_71
1533 * @arg @ref LL_EXTI_LINE_72
1534 * @arg @ref LL_EXTI_LINE_73
1535 * @arg @ref LL_EXTI_LINE_74
1536 * @arg @ref LL_EXTI_LINE_75
1537 * @arg @ref LL_EXTI_LINE_76
1538 * @arg @ref LL_EXTI_LINE_77
1539 * @arg @ref LL_EXTI_LINE_78
1540 * @arg @ref LL_EXTI_LINE_79
1541 * @arg @ref LL_EXTI_LINE_80
1542 * @arg @ref LL_EXTI_LINE_82
1543 * @arg @ref LL_EXTI_LINE_84
1544 * @arg @ref LL_EXTI_LINE_85
1545 * @arg @ref LL_EXTI_LINE_86
1546 * @arg @ref LL_EXTI_LINE_87
1547 * @arg @ref LL_EXTI_LINE_ALL_64_95
1550 __STATIC_INLINE
void LL_C2_EXTI_EnableEvent_64_95(uint32_t ExtiLine
)
1552 SET_BIT(EXTI
->C2EMR3
, ExtiLine
);
1557 * @brief Disable ExtiLine Event request for Lines in range 0 to 31 for cpu2
1558 * @rmtoll C2EMR1 EMx LL_C2_EXTI_DisableEvent_0_31
1559 * @param ExtiLine This parameter can be one of the following values:
1560 * @arg @ref LL_EXTI_LINE_0
1561 * @arg @ref LL_EXTI_LINE_1
1562 * @arg @ref LL_EXTI_LINE_2
1563 * @arg @ref LL_EXTI_LINE_3
1564 * @arg @ref LL_EXTI_LINE_4
1565 * @arg @ref LL_EXTI_LINE_5
1566 * @arg @ref LL_EXTI_LINE_6
1567 * @arg @ref LL_EXTI_LINE_7
1568 * @arg @ref LL_EXTI_LINE_8
1569 * @arg @ref LL_EXTI_LINE_9
1570 * @arg @ref LL_EXTI_LINE_10
1571 * @arg @ref LL_EXTI_LINE_11
1572 * @arg @ref LL_EXTI_LINE_12
1573 * @arg @ref LL_EXTI_LINE_13
1574 * @arg @ref LL_EXTI_LINE_14
1575 * @arg @ref LL_EXTI_LINE_15
1576 * @arg @ref LL_EXTI_LINE_16
1577 * @arg @ref LL_EXTI_LINE_17
1578 * @arg @ref LL_EXTI_LINE_18
1579 * @arg @ref LL_EXTI_LINE_19
1580 * @arg @ref LL_EXTI_LINE_20
1581 * @arg @ref LL_EXTI_LINE_21
1582 * @arg @ref LL_EXTI_LINE_22
1583 * @arg @ref LL_EXTI_LINE_23
1584 * @arg @ref LL_EXTI_LINE_24
1585 * @arg @ref LL_EXTI_LINE_25
1586 * @arg @ref LL_EXTI_LINE_26
1587 * @arg @ref LL_EXTI_LINE_27
1588 * @arg @ref LL_EXTI_LINE_28
1589 * @arg @ref LL_EXTI_LINE_29
1590 * @arg @ref LL_EXTI_LINE_30
1591 * @arg @ref LL_EXTI_LINE_31
1592 * @arg @ref LL_EXTI_LINE_ALL_0_31
1595 __STATIC_INLINE
void LL_C2_EXTI_DisableEvent_0_31(uint32_t ExtiLine
)
1597 CLEAR_BIT(EXTI
->C2EMR1
, ExtiLine
);
1602 * @brief Disable ExtiLine Event request for Lines in range 32 to 63 for cpu2
1603 * @rmtoll C2EMR2 EMx LL_C2_EXTI_DisableEvent_32_63
1604 * @param ExtiLine This parameter can be a combination of the following values:
1605 * @arg @ref LL_EXTI_LINE_32
1606 * @arg @ref LL_EXTI_LINE_33
1607 * @arg @ref LL_EXTI_LINE_34
1608 * @arg @ref LL_EXTI_LINE_35
1609 * @arg @ref LL_EXTI_LINE_36
1610 * @arg @ref LL_EXTI_LINE_37
1611 * @arg @ref LL_EXTI_LINE_38
1612 * @arg @ref LL_EXTI_LINE_39
1613 * @arg @ref LL_EXTI_LINE_40
1614 * @arg @ref LL_EXTI_LINE_41
1615 * @arg @ref LL_EXTI_LINE_42
1616 * @arg @ref LL_EXTI_LINE_43
1617 * @arg @ref LL_EXTI_LINE_44
1618 * @arg @ref LL_EXTI_LINE_46
1619 * @arg @ref LL_EXTI_LINE_47
1620 * @arg @ref LL_EXTI_LINE_48
1621 * @arg @ref LL_EXTI_LINE_49
1622 * @arg @ref LL_EXTI_LINE_50
1623 * @arg @ref LL_EXTI_LINE_51
1624 * @arg @ref LL_EXTI_LINE_52
1625 * @arg @ref LL_EXTI_LINE_53
1626 * @arg @ref LL_EXTI_LINE_54
1627 * @arg @ref LL_EXTI_LINE_55
1628 * @arg @ref LL_EXTI_LINE_56
1629 * @arg @ref LL_EXTI_LINE_57
1630 * @arg @ref LL_EXTI_LINE_58
1631 * @arg @ref LL_EXTI_LINE_59
1632 * @arg @ref LL_EXTI_LINE_60
1633 * @arg @ref LL_EXTI_LINE_61
1634 * @arg @ref LL_EXTI_LINE_62
1635 * @arg @ref LL_EXTI_LINE_63
1636 * @arg @ref LL_EXTI_LINE_ALL_32_63
1639 __STATIC_INLINE
void LL_C2_EXTI_DisableEvent_32_63(uint32_t ExtiLine
)
1641 CLEAR_BIT(EXTI
->C2EMR2
, ExtiLine
);
1646 * @brief Disable ExtiLine Event request for Lines in range 64 to 95 for cpu2
1647 * @rmtoll C2EMR3 EMx LL_C2_EXTI_DisableEvent_64_95
1648 * @param ExtiLine This parameter can be a combination of the following values:
1649 * @arg @ref LL_EXTI_LINE_64
1650 * @arg @ref LL_EXTI_LINE_65
1651 * @arg @ref LL_EXTI_LINE_66
1652 * @arg @ref LL_EXTI_LINE_67
1653 * @arg @ref LL_EXTI_LINE_68
1654 * @arg @ref LL_EXTI_LINE_69
1655 * @arg @ref LL_EXTI_LINE_70
1656 * @arg @ref LL_EXTI_LINE_71
1657 * @arg @ref LL_EXTI_LINE_72
1658 * @arg @ref LL_EXTI_LINE_73
1659 * @arg @ref LL_EXTI_LINE_74
1660 * @arg @ref LL_EXTI_LINE_75
1661 * @arg @ref LL_EXTI_LINE_76
1662 * @arg @ref LL_EXTI_LINE_77
1663 * @arg @ref LL_EXTI_LINE_78
1664 * @arg @ref LL_EXTI_LINE_79
1665 * @arg @ref LL_EXTI_LINE_80
1666 * @arg @ref LL_EXTI_LINE_82
1667 * @arg @ref LL_EXTI_LINE_84
1668 * @arg @ref LL_EXTI_LINE_85
1669 * @arg @ref LL_EXTI_LINE_86
1670 * @arg @ref LL_EXTI_LINE_87
1671 * @arg @ref LL_EXTI_LINE_ALL_64_95
1674 __STATIC_INLINE
void LL_C2_EXTI_DisableEvent_64_95(uint32_t ExtiLine
)
1676 CLEAR_BIT(EXTI
->C2EMR3
, ExtiLine
);
1681 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31 for cpu2
1682 * @rmtoll C2EMR1 EMx LL_C2_EXTI_IsEnabledEvent_0_31
1683 * @param ExtiLine This parameter can be one of the following values:
1684 * @arg @ref LL_EXTI_LINE_0
1685 * @arg @ref LL_EXTI_LINE_1
1686 * @arg @ref LL_EXTI_LINE_2
1687 * @arg @ref LL_EXTI_LINE_3
1688 * @arg @ref LL_EXTI_LINE_4
1689 * @arg @ref LL_EXTI_LINE_5
1690 * @arg @ref LL_EXTI_LINE_6
1691 * @arg @ref LL_EXTI_LINE_7
1692 * @arg @ref LL_EXTI_LINE_8
1693 * @arg @ref LL_EXTI_LINE_9
1694 * @arg @ref LL_EXTI_LINE_10
1695 * @arg @ref LL_EXTI_LINE_11
1696 * @arg @ref LL_EXTI_LINE_12
1697 * @arg @ref LL_EXTI_LINE_13
1698 * @arg @ref LL_EXTI_LINE_14
1699 * @arg @ref LL_EXTI_LINE_15
1700 * @arg @ref LL_EXTI_LINE_16
1701 * @arg @ref LL_EXTI_LINE_17
1702 * @arg @ref LL_EXTI_LINE_18
1703 * @arg @ref LL_EXTI_LINE_19
1704 * @arg @ref LL_EXTI_LINE_20
1705 * @arg @ref LL_EXTI_LINE_21
1706 * @arg @ref LL_EXTI_LINE_22
1707 * @arg @ref LL_EXTI_LINE_23
1708 * @arg @ref LL_EXTI_LINE_24
1709 * @arg @ref LL_EXTI_LINE_25
1710 * @arg @ref LL_EXTI_LINE_26
1711 * @arg @ref LL_EXTI_LINE_27
1712 * @arg @ref LL_EXTI_LINE_28
1713 * @arg @ref LL_EXTI_LINE_29
1714 * @arg @ref LL_EXTI_LINE_30
1715 * @arg @ref LL_EXTI_LINE_31
1716 * @arg @ref LL_EXTI_LINE_ALL_0_31
1717 * @note Please check each device line mapping for EXTI Line availability
1718 * @retval State of bit (1 or 0).
1720 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine
)
1722 return ((READ_BIT(EXTI
->C2EMR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1727 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63 for cpu2
1728 * @rmtoll C2EMR2 EMx LL_C2_EXTI_IsEnabledEvent_32_63
1729 * @param ExtiLine This parameter can be a combination of the following values:
1730 * @arg @ref LL_EXTI_LINE_32
1731 * @arg @ref LL_EXTI_LINE_33
1732 * @arg @ref LL_EXTI_LINE_34
1733 * @arg @ref LL_EXTI_LINE_35
1734 * @arg @ref LL_EXTI_LINE_36
1735 * @arg @ref LL_EXTI_LINE_37
1736 * @arg @ref LL_EXTI_LINE_38
1737 * @arg @ref LL_EXTI_LINE_39
1738 * @arg @ref LL_EXTI_LINE_40
1739 * @arg @ref LL_EXTI_LINE_41
1740 * @arg @ref LL_EXTI_LINE_42
1741 * @arg @ref LL_EXTI_LINE_43
1742 * @arg @ref LL_EXTI_LINE_44
1743 * @arg @ref LL_EXTI_LINE_46
1744 * @arg @ref LL_EXTI_LINE_47
1745 * @arg @ref LL_EXTI_LINE_48
1746 * @arg @ref LL_EXTI_LINE_49
1747 * @arg @ref LL_EXTI_LINE_50
1748 * @arg @ref LL_EXTI_LINE_51
1749 * @arg @ref LL_EXTI_LINE_52
1750 * @arg @ref LL_EXTI_LINE_53
1751 * @arg @ref LL_EXTI_LINE_54
1752 * @arg @ref LL_EXTI_LINE_55
1753 * @arg @ref LL_EXTI_LINE_56
1754 * @arg @ref LL_EXTI_LINE_57
1755 * @arg @ref LL_EXTI_LINE_58
1756 * @arg @ref LL_EXTI_LINE_59
1757 * @arg @ref LL_EXTI_LINE_60
1758 * @arg @ref LL_EXTI_LINE_61
1759 * @arg @ref LL_EXTI_LINE_62
1760 * @arg @ref LL_EXTI_LINE_63
1761 * @arg @ref LL_EXTI_LINE_ALL_32_63
1762 * @retval State of bit (1 or 0).
1764 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine
)
1766 return ((READ_BIT(EXTI
->C2EMR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1771 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 64 to 95 for cpu2
1772 * @rmtoll C2EMR3 EMx LL_C2_EXTI_IsEnabledEvent_64_95
1773 * @param ExtiLine This parameter can be a combination of the following values:
1774 * @arg @ref LL_EXTI_LINE_64
1775 * @arg @ref LL_EXTI_LINE_65
1776 * @arg @ref LL_EXTI_LINE_66
1777 * @arg @ref LL_EXTI_LINE_67
1778 * @arg @ref LL_EXTI_LINE_68
1779 * @arg @ref LL_EXTI_LINE_69
1780 * @arg @ref LL_EXTI_LINE_70
1781 * @arg @ref LL_EXTI_LINE_71
1782 * @arg @ref LL_EXTI_LINE_72
1783 * @arg @ref LL_EXTI_LINE_73
1784 * @arg @ref LL_EXTI_LINE_74
1785 * @arg @ref LL_EXTI_LINE_75
1786 * @arg @ref LL_EXTI_LINE_76
1787 * @arg @ref LL_EXTI_LINE_77
1788 * @arg @ref LL_EXTI_LINE_78
1789 * @arg @ref LL_EXTI_LINE_79
1790 * @arg @ref LL_EXTI_LINE_80
1791 * @arg @ref LL_EXTI_LINE_82
1792 * @arg @ref LL_EXTI_LINE_84
1793 * @arg @ref LL_EXTI_LINE_85
1794 * @arg @ref LL_EXTI_LINE_86
1795 * @arg @ref LL_EXTI_LINE_87
1796 * @arg @ref LL_EXTI_LINE_ALL_64_95
1797 * @retval State of bit (1 or 0).
1799 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine
)
1801 return ((READ_BIT(EXTI
->C2EMR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
1805 #endif /* DUAL_CORE */
1811 /** @defgroup EXTI_LL_EF_Rising_Trigger_Management Rising_Trigger_Management
1816 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
1817 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1818 * generated on these lines. If a rising edge on a configurable interrupt
1819 * line occurs during a write operation in the EXTI_RTSR register, the
1820 * pending bit is not set.
1821 * Rising and falling edge triggers can be set for
1822 * the same interrupt line. In this case, both generate a trigger
1824 * @rmtoll RTSR1 RTx LL_EXTI_EnableRisingTrig_0_31
1825 * @param ExtiLine This parameter can be a combination of the following values:
1826 * @arg @ref LL_EXTI_LINE_0
1827 * @arg @ref LL_EXTI_LINE_1
1828 * @arg @ref LL_EXTI_LINE_2
1829 * @arg @ref LL_EXTI_LINE_3
1830 * @arg @ref LL_EXTI_LINE_4
1831 * @arg @ref LL_EXTI_LINE_5
1832 * @arg @ref LL_EXTI_LINE_6
1833 * @arg @ref LL_EXTI_LINE_7
1834 * @arg @ref LL_EXTI_LINE_8
1835 * @arg @ref LL_EXTI_LINE_9
1836 * @arg @ref LL_EXTI_LINE_10
1837 * @arg @ref LL_EXTI_LINE_11
1838 * @arg @ref LL_EXTI_LINE_12
1839 * @arg @ref LL_EXTI_LINE_13
1840 * @arg @ref LL_EXTI_LINE_14
1841 * @arg @ref LL_EXTI_LINE_15
1842 * @arg @ref LL_EXTI_LINE_16
1843 * @arg @ref LL_EXTI_LINE_17
1844 * @arg @ref LL_EXTI_LINE_18
1845 * @arg @ref LL_EXTI_LINE_19
1846 * @arg @ref LL_EXTI_LINE_20
1847 * @arg @ref LL_EXTI_LINE_21
1850 __STATIC_INLINE
void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine
)
1852 SET_BIT(EXTI
->RTSR1
, ExtiLine
);
1857 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 32 to 63
1858 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1859 * generated on these lines. If a rising edge on a configurable interrupt
1860 * line occurs during a write operation in the EXTI_RTSR register, the
1861 * pending bit is not set.Rising and falling edge triggers can be set for
1862 * the same interrupt line. In this case, both generate a trigger
1864 * @rmtoll RTSR2 RTx LL_EXTI_EnableRisingTrig_32_63
1865 * @param ExtiLine This parameter can be a combination of the following values:
1866 * @arg @ref LL_EXTI_LINE_49
1867 * @arg @ref LL_EXTI_LINE_51
1870 __STATIC_INLINE
void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine
)
1872 SET_BIT(EXTI
->RTSR2
, ExtiLine
);
1876 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 64 to 95
1877 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1878 * generated on these lines. If a rising edge on a configurable interrupt
1879 * line occurs during a write operation in the EXTI_RTSR register, the
1880 * pending bit is not set.Rising and falling edge triggers can be set for
1881 * the same interrupt line. In this case, both generate a trigger
1883 * @rmtoll RTSR3 RTx LL_EXTI_EnableRisingTrig_64_95
1884 * @param ExtiLine This parameter can be a combination of the following values:
1885 * @arg @ref LL_EXTI_LINE_82
1886 * @arg @ref LL_EXTI_LINE_84
1887 * @arg @ref LL_EXTI_LINE_85
1888 * @arg @ref LL_EXTI_LINE_86
1891 __STATIC_INLINE
void LL_EXTI_EnableRisingTrig_64_95(uint32_t ExtiLine
)
1893 SET_BIT(EXTI
->RTSR3
, ExtiLine
);
1897 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
1898 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1899 * generated on these lines. If a rising edge on a configurable interrupt
1900 * line occurs during a write operation in the EXTI_RTSR register, the
1901 * pending bit is not set.
1902 * Rising and falling edge triggers can be set for
1903 * the same interrupt line. In this case, both generate a trigger
1905 * @rmtoll RTSR1 RTx LL_EXTI_DisableRisingTrig_0_31
1906 * @param ExtiLine This parameter can be a combination of the following values:
1907 * @arg @ref LL_EXTI_LINE_0
1908 * @arg @ref LL_EXTI_LINE_1
1909 * @arg @ref LL_EXTI_LINE_2
1910 * @arg @ref LL_EXTI_LINE_3
1911 * @arg @ref LL_EXTI_LINE_4
1912 * @arg @ref LL_EXTI_LINE_5
1913 * @arg @ref LL_EXTI_LINE_6
1914 * @arg @ref LL_EXTI_LINE_7
1915 * @arg @ref LL_EXTI_LINE_8
1916 * @arg @ref LL_EXTI_LINE_9
1917 * @arg @ref LL_EXTI_LINE_10
1918 * @arg @ref LL_EXTI_LINE_11
1919 * @arg @ref LL_EXTI_LINE_12
1920 * @arg @ref LL_EXTI_LINE_13
1921 * @arg @ref LL_EXTI_LINE_14
1922 * @arg @ref LL_EXTI_LINE_15
1923 * @arg @ref LL_EXTI_LINE_16
1924 * @arg @ref LL_EXTI_LINE_17
1925 * @arg @ref LL_EXTI_LINE_18
1926 * @arg @ref LL_EXTI_LINE_19
1927 * @arg @ref LL_EXTI_LINE_20
1928 * @arg @ref LL_EXTI_LINE_21
1931 __STATIC_INLINE
void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine
)
1933 CLEAR_BIT(EXTI
->RTSR1
, ExtiLine
);
1938 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 32 to 63
1939 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1940 * generated on these lines. If a rising edge on a configurable interrupt
1941 * line occurs during a write operation in the EXTI_RTSR register, the
1942 * pending bit is not set.
1943 * Rising and falling edge triggers can be set for
1944 * the same interrupt line. In this case, both generate a trigger
1946 * @rmtoll RTSR2 RTx LL_EXTI_DisableRisingTrig_32_63
1947 * @param ExtiLine This parameter can be a combination of the following values:
1948 * @arg @ref LL_EXTI_LINE_49
1949 * @arg @ref LL_EXTI_LINE_51
1952 __STATIC_INLINE
void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine
)
1954 CLEAR_BIT(EXTI
->RTSR2
, ExtiLine
);
1958 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 64 to 95
1959 * @note The configurable wakeup lines are edge-triggered. No glitch must be
1960 * generated on these lines. If a rising edge on a configurable interrupt
1961 * line occurs during a write operation in the EXTI_RTSR register, the
1962 * pending bit is not set.
1963 * Rising and falling edge triggers can be set for
1964 * the same interrupt line. In this case, both generate a trigger
1966 * @rmtoll RTSR3 RTx LL_EXTI_DisableRisingTrig_64_95
1967 * @param ExtiLine This parameter can be a combination of the following values:
1968 * @arg @ref LL_EXTI_LINE_82
1969 * @arg @ref LL_EXTI_LINE_84
1970 * @arg @ref LL_EXTI_LINE_85
1971 * @arg @ref LL_EXTI_LINE_86
1974 __STATIC_INLINE
void LL_EXTI_DisableRisingTrig_64_95(uint32_t ExtiLine
)
1976 CLEAR_BIT(EXTI
->RTSR3
, ExtiLine
);
1980 * @brief Check if rising edge trigger is enabled for Lines in range 0 to 31
1981 * @rmtoll RTSR1 RTx LL_EXTI_IsEnabledRisingTrig_0_31
1982 * @param ExtiLine This parameter can be a combination of the following values:
1983 * @arg @ref LL_EXTI_LINE_0
1984 * @arg @ref LL_EXTI_LINE_1
1985 * @arg @ref LL_EXTI_LINE_2
1986 * @arg @ref LL_EXTI_LINE_3
1987 * @arg @ref LL_EXTI_LINE_4
1988 * @arg @ref LL_EXTI_LINE_5
1989 * @arg @ref LL_EXTI_LINE_6
1990 * @arg @ref LL_EXTI_LINE_7
1991 * @arg @ref LL_EXTI_LINE_8
1992 * @arg @ref LL_EXTI_LINE_9
1993 * @arg @ref LL_EXTI_LINE_10
1994 * @arg @ref LL_EXTI_LINE_11
1995 * @arg @ref LL_EXTI_LINE_12
1996 * @arg @ref LL_EXTI_LINE_13
1997 * @arg @ref LL_EXTI_LINE_14
1998 * @arg @ref LL_EXTI_LINE_15
1999 * @arg @ref LL_EXTI_LINE_16
2000 * @arg @ref LL_EXTI_LINE_17
2001 * @arg @ref LL_EXTI_LINE_18
2002 * @arg @ref LL_EXTI_LINE_19
2003 * @arg @ref LL_EXTI_LINE_20
2004 * @arg @ref LL_EXTI_LINE_21
2005 * @retval State of bit (1 or 0).
2007 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine
)
2009 return ((READ_BIT(EXTI
->RTSR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2014 * @brief Check if rising edge trigger is enabled for Lines in range 32 to 63
2015 * @rmtoll RTSR2 RTx LL_EXTI_IsEnabledRisingTrig_32_63
2016 * @param ExtiLine This parameter can be a combination of the following values:
2017 * @arg @ref LL_EXTI_LINE_49
2018 * @arg @ref LL_EXTI_LINE_51
2019 * @retval State of bit (1 or 0).
2021 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine
)
2023 return ((READ_BIT(EXTI
->RTSR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2027 * @brief Check if rising edge trigger is enabled for Lines in range 64 to 95
2028 * @rmtoll RTSR3 RTx LL_EXTI_IsEnabledRisingTrig_64_95
2029 * @param ExtiLine This parameter can be a combination of the following values:
2030 * @arg @ref LL_EXTI_LINE_82
2031 * @arg @ref LL_EXTI_LINE_84
2032 * @arg @ref LL_EXTI_LINE_85
2033 * @arg @ref LL_EXTI_LINE_86
2034 * @retval State of bit (1 or 0).
2036 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledRisingTrig_64_95(uint32_t ExtiLine
)
2038 return ((READ_BIT(EXTI
->RTSR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2045 /** @defgroup EXTI_LL_EF_Falling_Trigger_Management Falling_Trigger_Management
2050 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
2051 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2052 * generated on these lines. If a falling edge on a configurable interrupt
2053 * line occurs during a write operation in the EXTI_FTSR register, the
2054 * pending bit is not set.
2055 * Rising and falling edge triggers can be set for
2056 * the same interrupt line. In this case, both generate a trigger
2058 * @rmtoll FTSR1 FTx LL_EXTI_EnableFallingTrig_0_31
2059 * @param ExtiLine This parameter can be a combination of the following values:
2060 * @arg @ref LL_EXTI_LINE_0
2061 * @arg @ref LL_EXTI_LINE_1
2062 * @arg @ref LL_EXTI_LINE_2
2063 * @arg @ref LL_EXTI_LINE_3
2064 * @arg @ref LL_EXTI_LINE_4
2065 * @arg @ref LL_EXTI_LINE_5
2066 * @arg @ref LL_EXTI_LINE_6
2067 * @arg @ref LL_EXTI_LINE_7
2068 * @arg @ref LL_EXTI_LINE_8
2069 * @arg @ref LL_EXTI_LINE_9
2070 * @arg @ref LL_EXTI_LINE_10
2071 * @arg @ref LL_EXTI_LINE_11
2072 * @arg @ref LL_EXTI_LINE_12
2073 * @arg @ref LL_EXTI_LINE_13
2074 * @arg @ref LL_EXTI_LINE_14
2075 * @arg @ref LL_EXTI_LINE_15
2076 * @arg @ref LL_EXTI_LINE_16
2077 * @arg @ref LL_EXTI_LINE_18
2078 * @arg @ref LL_EXTI_LINE_19
2079 * @arg @ref LL_EXTI_LINE_20
2080 * @arg @ref LL_EXTI_LINE_21
2081 * @note Please check each device line mapping for EXTI Line availability
2084 __STATIC_INLINE
void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine
)
2086 SET_BIT(EXTI
->FTSR1
, ExtiLine
);
2090 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 32 to 63
2091 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2092 * generated on these lines. If a Falling edge on a configurable interrupt
2093 * line occurs during a write operation in the EXTI_FTSR register, the
2094 * pending bit is not set.
2095 * Rising and falling edge triggers can be set for
2096 * the same interrupt line. In this case, both generate a trigger
2098 * @rmtoll FTSR2 FTx LL_EXTI_EnableFallingTrig_32_63
2099 * @param ExtiLine This parameter can be a combination of the following values:
2100 * @arg @ref LL_EXTI_LINE_49
2101 * @arg @ref LL_EXTI_LINE_51
2104 __STATIC_INLINE
void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine
)
2106 SET_BIT(EXTI
->FTSR2
, ExtiLine
);
2110 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 64 to 95
2111 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2112 * generated on these lines. If a Falling edge on a configurable interrupt
2113 * line occurs during a write operation in the EXTI_FTSR register, the
2114 * pending bit is not set.
2115 * Rising and falling edge triggers can be set for
2116 * the same interrupt line. In this case, both generate a trigger
2118 * @rmtoll FTSR3 FTx LL_EXTI_EnableFallingTrig_64_95
2119 * @param ExtiLine This parameter can be a combination of the following values:
2120 * @arg @ref LL_EXTI_LINE_82
2121 * @arg @ref LL_EXTI_LINE_84
2122 * @arg @ref LL_EXTI_LINE_85
2123 * @arg @ref LL_EXTI_LINE_86
2126 __STATIC_INLINE
void LL_EXTI_EnableFallingTrig_64_95(uint32_t ExtiLine
)
2128 SET_BIT(EXTI
->FTSR3
, ExtiLine
);
2133 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
2134 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2135 * generated on these lines. If a Falling edge on a configurable interrupt
2136 * line occurs during a write operation in the EXTI_FTSR register, the
2137 * pending bit is not set.
2138 * Rising and falling edge triggers can be set for the same interrupt line.
2139 * In this case, both generate a trigger condition.
2140 * @rmtoll FTSR1 FTx LL_EXTI_DisableFallingTrig_0_31
2141 * @param ExtiLine This parameter can be a combination of the following values:
2142 * @arg @ref LL_EXTI_LINE_0
2143 * @arg @ref LL_EXTI_LINE_1
2144 * @arg @ref LL_EXTI_LINE_2
2145 * @arg @ref LL_EXTI_LINE_3
2146 * @arg @ref LL_EXTI_LINE_4
2147 * @arg @ref LL_EXTI_LINE_5
2148 * @arg @ref LL_EXTI_LINE_6
2149 * @arg @ref LL_EXTI_LINE_7
2150 * @arg @ref LL_EXTI_LINE_8
2151 * @arg @ref LL_EXTI_LINE_9
2152 * @arg @ref LL_EXTI_LINE_10
2153 * @arg @ref LL_EXTI_LINE_11
2154 * @arg @ref LL_EXTI_LINE_12
2155 * @arg @ref LL_EXTI_LINE_13
2156 * @arg @ref LL_EXTI_LINE_14
2157 * @arg @ref LL_EXTI_LINE_15
2158 * @arg @ref LL_EXTI_LINE_16
2159 * @arg @ref LL_EXTI_LINE_18
2160 * @arg @ref LL_EXTI_LINE_19
2161 * @arg @ref LL_EXTI_LINE_20
2162 * @arg @ref LL_EXTI_LINE_21
2163 * @note Please check each device line mapping for EXTI Line availability
2166 __STATIC_INLINE
void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine
)
2168 CLEAR_BIT(EXTI
->FTSR1
, ExtiLine
);
2172 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 32 to 63
2173 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2174 * generated on these lines. If a Falling edge on a configurable interrupt
2175 * line occurs during a write operation in the EXTI_FTSR register, the
2176 * pending bit is not set.
2177 * Rising and falling edge triggers can be set for the same interrupt line.
2178 * In this case, both generate a trigger condition.
2179 * @rmtoll FTSR2 FTx LL_EXTI_DisableFallingTrig_32_63
2180 * @param ExtiLine This parameter can be a combination of the following values:
2181 * @arg @ref LL_EXTI_LINE_49
2182 * @arg @ref LL_EXTI_LINE_51
2185 __STATIC_INLINE
void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine
)
2187 CLEAR_BIT(EXTI
->FTSR2
, ExtiLine
);
2191 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 64 to 95
2192 * @note The configurable wakeup lines are edge-triggered. No glitch must be
2193 * generated on these lines. If a Falling edge on a configurable interrupt
2194 * line occurs during a write operation in the EXTI_FTSR register, the
2195 * pending bit is not set.
2196 * Rising and falling edge triggers can be set for the same interrupt line.
2197 * In this case, both generate a trigger condition.
2198 * @rmtoll FTSR3 FTx LL_EXTI_DisableFallingTrig_64_95
2199 * @param ExtiLine This parameter can be a combination of the following values:
2200 * @arg @ref LL_EXTI_LINE_82
2201 * @arg @ref LL_EXTI_LINE_84
2202 * @arg @ref LL_EXTI_LINE_85
2203 * @arg @ref LL_EXTI_LINE_86
2206 __STATIC_INLINE
void LL_EXTI_DisableFallingTrig_64_95(uint32_t ExtiLine
)
2208 CLEAR_BIT(EXTI
->FTSR3
, ExtiLine
);
2213 * @brief Check if falling edge trigger is enabled for Lines in range 0 to 31
2214 * @rmtoll FTSR1 FTx LL_EXTI_IsEnabledFallingTrig_0_31
2215 * @param ExtiLine This parameter can be a combination of the following values:
2216 * @arg @ref LL_EXTI_LINE_0
2217 * @arg @ref LL_EXTI_LINE_1
2218 * @arg @ref LL_EXTI_LINE_2
2219 * @arg @ref LL_EXTI_LINE_3
2220 * @arg @ref LL_EXTI_LINE_4
2221 * @arg @ref LL_EXTI_LINE_5
2222 * @arg @ref LL_EXTI_LINE_6
2223 * @arg @ref LL_EXTI_LINE_7
2224 * @arg @ref LL_EXTI_LINE_8
2225 * @arg @ref LL_EXTI_LINE_9
2226 * @arg @ref LL_EXTI_LINE_10
2227 * @arg @ref LL_EXTI_LINE_11
2228 * @arg @ref LL_EXTI_LINE_12
2229 * @arg @ref LL_EXTI_LINE_13
2230 * @arg @ref LL_EXTI_LINE_14
2231 * @arg @ref LL_EXTI_LINE_15
2232 * @arg @ref LL_EXTI_LINE_16
2233 * @arg @ref LL_EXTI_LINE_18
2234 * @arg @ref LL_EXTI_LINE_19
2235 * @arg @ref LL_EXTI_LINE_20
2236 * @arg @ref LL_EXTI_LINE_21
2237 * @note Please check each device line mapping for EXTI Line availability
2238 * @retval State of bit (1 or 0).
2240 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine
)
2242 return ((READ_BIT(EXTI
->FTSR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2246 * @brief Check if falling edge trigger is enabled for Lines in range 32 to 63
2247 * @rmtoll FTSR2 FTx LL_EXTI_IsEnabledFallingTrig_32_63
2248 * @param ExtiLine This parameter can be a combination of the following values:
2249 * @arg @ref LL_EXTI_LINE_49
2250 * @arg @ref LL_EXTI_LINE_51
2251 * @retval State of bit (1 or 0).
2253 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine
)
2255 return ((READ_BIT(EXTI
->FTSR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2259 * @brief Check if falling edge trigger is enabled for Lines in range 64 to 95
2260 * @rmtoll FTSR3 FTx LL_EXTI_IsEnabledFallingTrig_64_95
2261 * @param ExtiLine This parameter can be a combination of the following values:
2262 * @arg @ref LL_EXTI_LINE_82
2263 * @arg @ref LL_EXTI_LINE_84
2264 * @arg @ref LL_EXTI_LINE_85
2265 * @arg @ref LL_EXTI_LINE_86
2266 * @retval State of bit (1 or 0).
2268 __STATIC_INLINE
uint32_t LL_EXTI_IsEnabledFallingTrig_64_95(uint32_t ExtiLine
)
2270 return ((READ_BIT(EXTI
->FTSR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2278 /** @defgroup EXTI_LL_EF_Software_Interrupt_Management Software_Interrupt_Management
2283 * @brief Generate a software Interrupt Event for Lines in range 0 to 31
2284 * @note If the interrupt is enabled on this line in the EXTI_C1IMR1, writing a 1 to
2285 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR1
2286 * resulting in an interrupt request generation.
2287 * This bit is cleared by clearing the corresponding bit in the EXTI_PR1
2288 * register (by writing a 1 into the bit)
2289 * @rmtoll SWIER1 SWIx LL_EXTI_GenerateSWI_0_31
2290 * @param ExtiLine This parameter can be a combination of the following values:
2291 * @arg @ref LL_EXTI_LINE_0
2292 * @arg @ref LL_EXTI_LINE_1
2293 * @arg @ref LL_EXTI_LINE_2
2294 * @arg @ref LL_EXTI_LINE_3
2295 * @arg @ref LL_EXTI_LINE_4
2296 * @arg @ref LL_EXTI_LINE_5
2297 * @arg @ref LL_EXTI_LINE_6
2298 * @arg @ref LL_EXTI_LINE_7
2299 * @arg @ref LL_EXTI_LINE_8
2300 * @arg @ref LL_EXTI_LINE_9
2301 * @arg @ref LL_EXTI_LINE_10
2302 * @arg @ref LL_EXTI_LINE_11
2303 * @arg @ref LL_EXTI_LINE_12
2304 * @arg @ref LL_EXTI_LINE_13
2305 * @arg @ref LL_EXTI_LINE_14
2306 * @arg @ref LL_EXTI_LINE_15
2307 * @arg @ref LL_EXTI_LINE_16
2308 * @arg @ref LL_EXTI_LINE_18
2309 * @arg @ref LL_EXTI_LINE_19
2310 * @arg @ref LL_EXTI_LINE_20
2311 * @arg @ref LL_EXTI_LINE_21
2312 * @note Please check each device line mapping for EXTI Line availability
2315 __STATIC_INLINE
void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine
)
2317 SET_BIT(EXTI
->SWIER1
, ExtiLine
);
2321 * @brief Generate a software Interrupt Event for Lines in range 32 to 63
2322 * @note If the interrupt is enabled on this line in the EXTI_IMR2, writing a 1 to
2323 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR2
2324 * resulting in an interrupt request generation.
2325 * This bit is cleared by clearing the corresponding bit in the EXTI_PR2
2326 * register (by writing a 1 into the bit)
2327 * @rmtoll SWIER2 SWIx LL_EXTI_GenerateSWI_32_63
2328 * @param ExtiLine This parameter can be a combination of the following values:
2329 * @arg @ref LL_EXTI_LINE_49
2330 * @arg @ref LL_EXTI_LINE_51
2333 __STATIC_INLINE
void LL_EXTI_GenerateSWI_32_63(uint32_t ExtiLine
)
2335 SET_BIT(EXTI
->SWIER2
, ExtiLine
);
2339 * @brief Generate a software Interrupt Event for Lines in range 64 to 95
2340 * @note If the interrupt is enabled on this line in the EXTI_IMR2, writing a 1 to
2341 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR2
2342 * resulting in an interrupt request generation.
2343 * This bit is cleared by clearing the corresponding bit in the EXTI_PR3
2344 * register (by writing a 1 into the bit)
2345 * @rmtoll SWIER3 SWIx LL_EXTI_GenerateSWI_64_95
2346 * @param ExtiLine This parameter can be a combination of the following values:
2347 * @arg @ref LL_EXTI_LINE_82
2348 * @arg @ref LL_EXTI_LINE_84
2349 * @arg @ref LL_EXTI_LINE_85
2350 * @arg @ref LL_EXTI_LINE_86
2353 __STATIC_INLINE
void LL_EXTI_GenerateSWI_64_95(uint32_t ExtiLine
)
2355 SET_BIT(EXTI
->SWIER3
, ExtiLine
);
2363 /** @defgroup EXTI_LL_EF_Flag_Management Flag_Management
2368 * @brief Check if the ExtLine Flag is set or not for Lines in range 0 to 31
2369 * @note This bit is set when the selected edge event arrives on the interrupt
2370 * line. This bit is cleared by writing a 1 to the bit.
2371 * @rmtoll PR1 PIFx LL_EXTI_IsActiveFlag_0_31
2372 * @param ExtiLine This parameter can be a combination of the following values:
2373 * @arg @ref LL_EXTI_LINE_0
2374 * @arg @ref LL_EXTI_LINE_1
2375 * @arg @ref LL_EXTI_LINE_2
2376 * @arg @ref LL_EXTI_LINE_3
2377 * @arg @ref LL_EXTI_LINE_4
2378 * @arg @ref LL_EXTI_LINE_5
2379 * @arg @ref LL_EXTI_LINE_6
2380 * @arg @ref LL_EXTI_LINE_7
2381 * @arg @ref LL_EXTI_LINE_8
2382 * @arg @ref LL_EXTI_LINE_9
2383 * @arg @ref LL_EXTI_LINE_10
2384 * @arg @ref LL_EXTI_LINE_11
2385 * @arg @ref LL_EXTI_LINE_12
2386 * @arg @ref LL_EXTI_LINE_13
2387 * @arg @ref LL_EXTI_LINE_14
2388 * @arg @ref LL_EXTI_LINE_15
2389 * @arg @ref LL_EXTI_LINE_16
2390 * @arg @ref LL_EXTI_LINE_17
2391 * @arg @ref LL_EXTI_LINE_18
2392 * @arg @ref LL_EXTI_LINE_19
2393 * @arg @ref LL_EXTI_LINE_20
2394 * @arg @ref LL_EXTI_LINE_21
2395 * @arg @ref LL_EXTI_LINE_ALL_0_31
2396 * @retval State of bit (1 or 0).
2398 __STATIC_INLINE
uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine
)
2400 return ((READ_BIT(EXTI
->PR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2404 * @brief Check if the ExtLine Flag is set or not for Lines in range 32 to 63
2405 * @note This bit is set when the selected edge event arrives on the interrupt
2406 * line. This bit is cleared by writing a 1 to the bit.
2407 * @rmtoll PR2 PIFx LL_EXTI_IsActiveFlag_32_63
2408 * @param ExtiLine This parameter can be a combination of the following values:
2409 * @arg @ref LL_EXTI_LINE_49
2410 * @arg @ref LL_EXTI_LINE_51
2411 * @arg @ref LL_EXTI_LINE_ALL_32_63
2412 * @retval State of bit (1 or 0).
2414 __STATIC_INLINE
uint32_t LL_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine
)
2416 return ((READ_BIT(EXTI
->PR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2420 * @brief Check if the ExtLine Flag is set or not for Lines in range 64 to 95
2421 * @note This bit is set when the selected edge event arrives on the interrupt
2422 * line. This bit is cleared by writing a 1 to the bit.
2423 * @rmtoll PR3 PIFx LL_EXTI_IsActiveFlag_64_95
2424 * @param ExtiLine This parameter can be a combination of the following values:
2425 * @arg @ref LL_EXTI_LINE_82
2426 * @arg @ref LL_EXTI_LINE_84
2427 * @arg @ref LL_EXTI_LINE_85
2428 * @arg @ref LL_EXTI_LINE_86
2429 * @arg @ref LL_EXTI_LINE_ALL_64_95
2430 * @retval State of bit (1 or 0).
2432 __STATIC_INLINE
uint32_t LL_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine
)
2434 return ((READ_BIT(EXTI
->PR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2439 * @brief Read ExtLine Combination Flag for Lines in range 0 to 31
2440 * @note This bit is set when the selected edge event arrives on the interrupt
2441 * line. This bit is cleared by writing a 1 to the bit.
2442 * @rmtoll PR1 PIFx LL_EXTI_ReadFlag_0_31
2443 * @param ExtiLine This parameter can be a combination of the following values:
2444 * @arg @ref LL_EXTI_LINE_0
2445 * @arg @ref LL_EXTI_LINE_1
2446 * @arg @ref LL_EXTI_LINE_2
2447 * @arg @ref LL_EXTI_LINE_3
2448 * @arg @ref LL_EXTI_LINE_4
2449 * @arg @ref LL_EXTI_LINE_5
2450 * @arg @ref LL_EXTI_LINE_6
2451 * @arg @ref LL_EXTI_LINE_7
2452 * @arg @ref LL_EXTI_LINE_8
2453 * @arg @ref LL_EXTI_LINE_9
2454 * @arg @ref LL_EXTI_LINE_10
2455 * @arg @ref LL_EXTI_LINE_11
2456 * @arg @ref LL_EXTI_LINE_12
2457 * @arg @ref LL_EXTI_LINE_13
2458 * @arg @ref LL_EXTI_LINE_14
2459 * @arg @ref LL_EXTI_LINE_15
2460 * @arg @ref LL_EXTI_LINE_16
2461 * @arg @ref LL_EXTI_LINE_17
2462 * @arg @ref LL_EXTI_LINE_18
2463 * @arg @ref LL_EXTI_LINE_19
2464 * @arg @ref LL_EXTI_LINE_20
2465 * @arg @ref LL_EXTI_LINE_21
2466 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2468 __STATIC_INLINE
uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine
)
2470 return (uint32_t)(READ_BIT(EXTI
->PR1
, ExtiLine
));
2475 * @brief Read ExtLine Combination Flag for Lines in range 32 to 63
2476 * @note This bit is set when the selected edge event arrives on the interrupt
2477 * line. This bit is cleared by writing a 1 to the bit.
2478 * @rmtoll PR2 PIFx LL_EXTI_ReadFlag_32_63
2479 * @param ExtiLine This parameter can be a combination of the following values:
2480 * @arg @ref LL_EXTI_LINE_49
2481 * @arg @ref LL_EXTI_LINE_51
2482 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2484 __STATIC_INLINE
uint32_t LL_EXTI_ReadFlag_32_63(uint32_t ExtiLine
)
2486 return (uint32_t)(READ_BIT(EXTI
->PR2
, ExtiLine
));
2491 * @brief Read ExtLine Combination Flag for Lines in range 64 to 95
2492 * @note This bit is set when the selected edge event arrives on the interrupt
2493 * line. This bit is cleared by writing a 1 to the bit.
2494 * @rmtoll PR3 PIFx LL_EXTI_ReadFlag_64_95
2495 * @param ExtiLine This parameter can be a combination of the following values:
2496 * @arg @ref LL_EXTI_LINE_82
2497 * @arg @ref LL_EXTI_LINE_84
2498 * @arg @ref LL_EXTI_LINE_85
2499 * @arg @ref LL_EXTI_LINE_86
2500 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2502 __STATIC_INLINE
uint32_t LL_EXTI_ReadFlag_64_95(uint32_t ExtiLine
)
2504 return (uint32_t)(READ_BIT(EXTI
->PR3
, ExtiLine
));
2508 * @brief Clear ExtLine Flags for Lines in range 0 to 31
2509 * @note This bit is set when the selected edge event arrives on the interrupt
2510 * line. This bit is cleared by writing a 1 to the bit.
2511 * @rmtoll PR1 PIFx LL_EXTI_ClearFlag_0_31
2512 * @param ExtiLine This parameter can be a combination of the following values:
2513 * @arg @ref LL_EXTI_LINE_0
2514 * @arg @ref LL_EXTI_LINE_1
2515 * @arg @ref LL_EXTI_LINE_2
2516 * @arg @ref LL_EXTI_LINE_3
2517 * @arg @ref LL_EXTI_LINE_4
2518 * @arg @ref LL_EXTI_LINE_5
2519 * @arg @ref LL_EXTI_LINE_6
2520 * @arg @ref LL_EXTI_LINE_7
2521 * @arg @ref LL_EXTI_LINE_8
2522 * @arg @ref LL_EXTI_LINE_9
2523 * @arg @ref LL_EXTI_LINE_10
2524 * @arg @ref LL_EXTI_LINE_11
2525 * @arg @ref LL_EXTI_LINE_12
2526 * @arg @ref LL_EXTI_LINE_13
2527 * @arg @ref LL_EXTI_LINE_14
2528 * @arg @ref LL_EXTI_LINE_15
2529 * @arg @ref LL_EXTI_LINE_16
2530 * @arg @ref LL_EXTI_LINE_17
2531 * @arg @ref LL_EXTI_LINE_18
2532 * @arg @ref LL_EXTI_LINE_19
2533 * @arg @ref LL_EXTI_LINE_20
2534 * @arg @ref LL_EXTI_LINE_21
2537 __STATIC_INLINE
void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine
)
2539 WRITE_REG(EXTI
->PR1
, ExtiLine
);
2543 * @brief Clear ExtLine Flags for Lines in range 32 to 63
2544 * @note This bit is set when the selected edge event arrives on the interrupt
2545 * line. This bit is cleared by writing a 1 to the bit.
2546 * @rmtoll PR2 PIFx LL_EXTI_ClearFlag_32_63
2547 * @param ExtiLine This parameter can be a combination of the following values:
2548 * @arg @ref LL_EXTI_LINE_49
2549 * @arg @ref LL_EXTI_LINE_51
2552 __STATIC_INLINE
void LL_EXTI_ClearFlag_32_63(uint32_t ExtiLine
)
2554 WRITE_REG(EXTI
->PR2
, ExtiLine
);
2558 * @brief Clear ExtLine Flags for Lines in range 64 to 95
2559 * @note This bit is set when the selected edge event arrives on the interrupt
2560 * line. This bit is cleared by writing a 1 to the bit.
2561 * @rmtoll PR3 PIFx LL_EXTI_ClearFlag_64_95
2562 * @param ExtiLine This parameter can be a combination of the following values:
2563 * @arg @ref LL_EXTI_LINE_82
2564 * @arg @ref LL_EXTI_LINE_84
2565 * @arg @ref LL_EXTI_LINE_85
2566 * @arg @ref LL_EXTI_LINE_86
2569 __STATIC_INLINE
void LL_EXTI_ClearFlag_64_95(uint32_t ExtiLine
)
2571 WRITE_REG(EXTI
->PR3
, ExtiLine
);
2574 #if defined(DUAL_CORE)
2577 * @brief Check if the ExtLine Flag is set or not for Lines in range 0 to 31 for cpu2
2578 * @note This bit is set when the selected edge event arrives on the interrupt
2579 * line. This bit is cleared by writing a 1 to the bit.
2580 * @rmtoll C2PR1 PIFx LL_C2_EXTI_IsActiveFlag_0_31
2581 * @param ExtiLine This parameter can be a combination of the following values:
2582 * @arg @ref LL_EXTI_LINE_0
2583 * @arg @ref LL_EXTI_LINE_1
2584 * @arg @ref LL_EXTI_LINE_2
2585 * @arg @ref LL_EXTI_LINE_3
2586 * @arg @ref LL_EXTI_LINE_4
2587 * @arg @ref LL_EXTI_LINE_5
2588 * @arg @ref LL_EXTI_LINE_6
2589 * @arg @ref LL_EXTI_LINE_7
2590 * @arg @ref LL_EXTI_LINE_8
2591 * @arg @ref LL_EXTI_LINE_9
2592 * @arg @ref LL_EXTI_LINE_10
2593 * @arg @ref LL_EXTI_LINE_11
2594 * @arg @ref LL_EXTI_LINE_12
2595 * @arg @ref LL_EXTI_LINE_13
2596 * @arg @ref LL_EXTI_LINE_14
2597 * @arg @ref LL_EXTI_LINE_15
2598 * @arg @ref LL_EXTI_LINE_16
2599 * @arg @ref LL_EXTI_LINE_17
2600 * @arg @ref LL_EXTI_LINE_18
2601 * @arg @ref LL_EXTI_LINE_19
2602 * @arg @ref LL_EXTI_LINE_20
2603 * @arg @ref LL_EXTI_LINE_21
2604 * @arg @ref LL_EXTI_LINE_ALL_0_31
2605 * @retval State of bit (1 or 0).
2607 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine
)
2609 return ((READ_BIT(EXTI
->C2PR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2613 * @brief Check if the ExtLine Flag is set or not for Lines in range 32 to 63 for cpu2
2614 * @note This bit is set when the selected edge event arrives on the interrupt
2615 * line. This bit is cleared by writing a 1 to the bit.
2616 * @rmtoll C2PR2 PIFx LL_C2_EXTI_IsActiveFlag_32_63
2617 * @param ExtiLine This parameter can be a combination of the following values:
2618 * @arg @ref LL_EXTI_LINE_49
2619 * @arg @ref LL_EXTI_LINE_51
2620 * @arg @ref LL_EXTI_LINE_ALL_32_63
2621 * @retval State of bit (1 or 0).
2623 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine
)
2625 return ((READ_BIT(EXTI
->C2PR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2629 * @brief Check if the ExtLine Flag is set or not for Lines in range 64 to 95 for cpu2
2630 * @note This bit is set when the selected edge event arrives on the interrupt
2631 * line. This bit is cleared by writing a 1 to the bit.
2632 * @rmtoll C2PR3 PIFx LL_C2_EXTI_IsActiveFlag_64_95
2633 * @param ExtiLine This parameter can be a combination of the following values:
2634 * @arg @ref LL_EXTI_LINE_82
2635 * @arg @ref LL_EXTI_LINE_84
2636 * @arg @ref LL_EXTI_LINE_85
2637 * @arg @ref LL_EXTI_LINE_86
2638 * @arg @ref LL_EXTI_LINE_ALL_64_95
2639 * @retval State of bit (1 or 0).
2641 __STATIC_INLINE
uint32_t LL_C2_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine
)
2643 return ((READ_BIT(EXTI
->C2PR3
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2647 * @brief Read ExtLine Combination Flag for Lines in range 0 to 31 for cpu2
2648 * @note This bit is set when the selected edge event arrives on the interrupt
2649 * line. This bit is cleared by writing a 1 to the bit.
2650 * @rmtoll C2PR1 PIFx LL_C2_EXTI_ReadFlag_0_31
2651 * @param ExtiLine This parameter can be a combination of the following values:
2652 * @arg @ref LL_EXTI_LINE_0
2653 * @arg @ref LL_EXTI_LINE_1
2654 * @arg @ref LL_EXTI_LINE_2
2655 * @arg @ref LL_EXTI_LINE_3
2656 * @arg @ref LL_EXTI_LINE_4
2657 * @arg @ref LL_EXTI_LINE_5
2658 * @arg @ref LL_EXTI_LINE_6
2659 * @arg @ref LL_EXTI_LINE_7
2660 * @arg @ref LL_EXTI_LINE_8
2661 * @arg @ref LL_EXTI_LINE_9
2662 * @arg @ref LL_EXTI_LINE_10
2663 * @arg @ref LL_EXTI_LINE_11
2664 * @arg @ref LL_EXTI_LINE_12
2665 * @arg @ref LL_EXTI_LINE_13
2666 * @arg @ref LL_EXTI_LINE_14
2667 * @arg @ref LL_EXTI_LINE_15
2668 * @arg @ref LL_EXTI_LINE_16
2669 * @arg @ref LL_EXTI_LINE_17
2670 * @arg @ref LL_EXTI_LINE_18
2671 * @arg @ref LL_EXTI_LINE_19
2672 * @arg @ref LL_EXTI_LINE_20
2673 * @arg @ref LL_EXTI_LINE_21
2674 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2676 __STATIC_INLINE
uint32_t LL_C2_EXTI_ReadFlag_0_31(uint32_t ExtiLine
)
2678 return (uint32_t)(READ_BIT(EXTI
->C2PR1
, ExtiLine
));
2682 * @brief Read ExtLine Combination Flag for Lines in range 32 to 63 for cpu2
2683 * @note This bit is set when the selected edge event arrives on the interrupt
2684 * line. This bit is cleared by writing a 1 to the bit.
2685 * @rmtoll C2PR2 PIFx LL_C2_EXTI_ReadFlag_32_63
2686 * @param ExtiLine This parameter can be a combination of the following values:
2687 * @arg @ref LL_EXTI_LINE_49
2688 * @arg @ref LL_EXTI_LINE_51
2689 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2691 __STATIC_INLINE
uint32_t LL_C2_EXTI_ReadFlag_32_63(uint32_t ExtiLine
)
2693 return (uint32_t)(READ_BIT(EXTI
->C2PR2
, ExtiLine
));
2698 * @brief Read ExtLine Combination Flag for Lines in range 64 to 95 for cpu2
2699 * @note This bit is set when the selected edge event arrives on the interrupt
2700 * line. This bit is cleared by writing a 1 to the bit.
2701 * @rmtoll C2PR3 PIFx LL_C2_EXTI_ReadFlag_64_95
2702 * @param ExtiLine This parameter can be a combination of the following values:
2703 * @arg @ref LL_EXTI_LINE_82
2704 * @arg @ref LL_EXTI_LINE_84
2705 * @arg @ref LL_EXTI_LINE_85
2706 * @arg @ref LL_EXTI_LINE_86
2707 * @retval @note This bit is set when the selected edge event arrives on the interrupt
2709 __STATIC_INLINE
uint32_t LL_C2_EXTI_ReadFlag_64_95(uint32_t ExtiLine
)
2711 return (uint32_t)(READ_BIT(EXTI
->C2PR3
, ExtiLine
));
2714 * @brief Clear ExtLine Flags for Lines in range 0 to 31 for cpu2
2715 * @note This bit is set when the selected edge event arrives on the interrupt
2716 * line. This bit is cleared by writing a 1 to the bit.
2717 * @rmtoll C2PR1 PIFx LL_C2_EXTI_ClearFlag_0_31
2718 * @param ExtiLine This parameter can be a combination of the following values:
2719 * @arg @ref LL_EXTI_LINE_0
2720 * @arg @ref LL_EXTI_LINE_1
2721 * @arg @ref LL_EXTI_LINE_2
2722 * @arg @ref LL_EXTI_LINE_3
2723 * @arg @ref LL_EXTI_LINE_4
2724 * @arg @ref LL_EXTI_LINE_5
2725 * @arg @ref LL_EXTI_LINE_6
2726 * @arg @ref LL_EXTI_LINE_7
2727 * @arg @ref LL_EXTI_LINE_8
2728 * @arg @ref LL_EXTI_LINE_9
2729 * @arg @ref LL_EXTI_LINE_10
2730 * @arg @ref LL_EXTI_LINE_11
2731 * @arg @ref LL_EXTI_LINE_12
2732 * @arg @ref LL_EXTI_LINE_13
2733 * @arg @ref LL_EXTI_LINE_14
2734 * @arg @ref LL_EXTI_LINE_15
2735 * @arg @ref LL_EXTI_LINE_16
2736 * @arg @ref LL_EXTI_LINE_17
2737 * @arg @ref LL_EXTI_LINE_18
2738 * @arg @ref LL_EXTI_LINE_19
2739 * @arg @ref LL_EXTI_LINE_20
2740 * @arg @ref LL_EXTI_LINE_21
2743 __STATIC_INLINE
void LL_C2_EXTI_ClearFlag_0_31(uint32_t ExtiLine
)
2745 WRITE_REG(EXTI
->C2PR1
, ExtiLine
);
2749 * @brief Clear ExtLine Flags for Lines in range 32 to 63 for cpu2
2750 * @note This bit is set when the selected edge event arrives on the interrupt
2751 * line. This bit is cleared by writing a 1 to the bit.
2752 * @rmtoll C2PR2 PIFx LL_C2_EXTI_ClearFlag_32_63
2753 * @param ExtiLine This parameter can be a combination of the following values:
2754 * @arg @ref LL_EXTI_LINE_49
2755 * @arg @ref LL_EXTI_LINE_51
2758 __STATIC_INLINE
void LL_C2_EXTI_ClearFlag_32_63(uint32_t ExtiLine
)
2760 WRITE_REG(EXTI
->C2PR2
, ExtiLine
);
2764 * @brief Clear ExtLine Flags for Lines in range 64 to 95 for cpu2
2765 * @note This bit is set when the selected edge event arrives on the interrupt
2766 * line. This bit is cleared by writing a 1 to the bit.
2767 * @rmtoll C2PR3 PIFx LL_C2_EXTI_ClearFlag_64_95
2768 * @param ExtiLine This parameter can be a combination of the following values:
2769 * @arg @ref LL_EXTI_LINE_82
2770 * @arg @ref LL_EXTI_LINE_84
2771 * @arg @ref LL_EXTI_LINE_85
2772 * @arg @ref LL_EXTI_LINE_86
2775 __STATIC_INLINE
void LL_C2_EXTI_ClearFlag_64_95(uint32_t ExtiLine
)
2777 WRITE_REG(EXTI
->C2PR3
, ExtiLine
);
2780 #endif /* DUAL_CORE */
2783 * @brief Enable ExtiLine D3 Pending Mask for Lines in range 0 to 31
2784 * @rmtoll D3PMR1 MRx LL_D3_EXTI_EnablePendMask_0_31
2785 * @param ExtiLine This parameter can be one of the following values:
2786 * @arg @ref LL_EXTI_LINE_0
2787 * @arg @ref LL_EXTI_LINE_1
2788 * @arg @ref LL_EXTI_LINE_2
2789 * @arg @ref LL_EXTI_LINE_3
2790 * @arg @ref LL_EXTI_LINE_4
2791 * @arg @ref LL_EXTI_LINE_5
2792 * @arg @ref LL_EXTI_LINE_6
2793 * @arg @ref LL_EXTI_LINE_7
2794 * @arg @ref LL_EXTI_LINE_8
2795 * @arg @ref LL_EXTI_LINE_9
2796 * @arg @ref LL_EXTI_LINE_10
2797 * @arg @ref LL_EXTI_LINE_11
2798 * @arg @ref LL_EXTI_LINE_12
2799 * @arg @ref LL_EXTI_LINE_13
2800 * @arg @ref LL_EXTI_LINE_14
2801 * @arg @ref LL_EXTI_LINE_15
2802 * @arg @ref LL_EXTI_LINE_19
2803 * @arg @ref LL_EXTI_LINE_20
2804 * @arg @ref LL_EXTI_LINE_21
2805 * @arg @ref LL_EXTI_LINE_25
2808 __STATIC_INLINE
void LL_D3_EXTI_EnablePendMask_0_31(uint32_t ExtiLine
)
2810 SET_BIT(EXTI
->D3PMR1
, ExtiLine
);
2814 * @brief Enable ExtiLine D3 Pending Mask for Lines in range 32 to 63
2815 * @rmtoll D3PMR2 MRx LL_D3_EXTI_EnablePendMask_32_63
2816 * @param ExtiLine This parameter can be one of the following values:
2817 * @arg @ref LL_EXTI_LINE_34
2818 * @arg @ref LL_EXTI_LINE_35
2819 * @arg @ref LL_EXTI_LINE_41
2820 * @arg @ref LL_EXTI_LINE_48
2821 * @arg @ref LL_EXTI_LINE_49
2822 * @arg @ref LL_EXTI_LINE_50
2823 * @arg @ref LL_EXTI_LINE_51
2824 * @arg @ref LL_EXTI_LINE_52
2825 * @arg @ref LL_EXTI_LINE_53
2828 __STATIC_INLINE
void LL_D3_EXTI_EnablePendMask_32_63(uint32_t ExtiLine
)
2830 SET_BIT(EXTI
->D3PMR2
, ExtiLine
);
2834 * @brief Disable ExtiLine D3 Pending Mask for Lines in range 0 to 31
2835 * @rmtoll D3PMR1 MRx LL_D3_EXTI_DisablePendMask_0_31
2836 * @param ExtiLine This parameter can be one of the following values:
2837 * @arg @ref LL_EXTI_LINE_0
2838 * @arg @ref LL_EXTI_LINE_1
2839 * @arg @ref LL_EXTI_LINE_2
2840 * @arg @ref LL_EXTI_LINE_3
2841 * @arg @ref LL_EXTI_LINE_4
2842 * @arg @ref LL_EXTI_LINE_5
2843 * @arg @ref LL_EXTI_LINE_6
2844 * @arg @ref LL_EXTI_LINE_7
2845 * @arg @ref LL_EXTI_LINE_8
2846 * @arg @ref LL_EXTI_LINE_9
2847 * @arg @ref LL_EXTI_LINE_10
2848 * @arg @ref LL_EXTI_LINE_11
2849 * @arg @ref LL_EXTI_LINE_12
2850 * @arg @ref LL_EXTI_LINE_13
2851 * @arg @ref LL_EXTI_LINE_14
2852 * @arg @ref LL_EXTI_LINE_15
2853 * @arg @ref LL_EXTI_LINE_19
2854 * @arg @ref LL_EXTI_LINE_20
2855 * @arg @ref LL_EXTI_LINE_21
2856 * @arg @ref LL_EXTI_LINE_25
2859 __STATIC_INLINE
void LL_D3_EXTI_DisablePendMask_0_31(uint32_t ExtiLine
)
2861 CLEAR_BIT(EXTI
->D3PMR1
, ExtiLine
);
2865 * @brief Disable ExtiLine D3 Pending Mask for Lines in range 32 to 63
2866 * @rmtoll D3PMR2 MRx LL_D3_EXTI_DisablePendMask_32_63
2867 * @param ExtiLine This parameter can be one of the following values:
2868 * @arg @ref LL_EXTI_LINE_34
2869 * @arg @ref LL_EXTI_LINE_35
2870 * @arg @ref LL_EXTI_LINE_41
2871 * @arg @ref LL_EXTI_LINE_48
2872 * @arg @ref LL_EXTI_LINE_49
2873 * @arg @ref LL_EXTI_LINE_50
2874 * @arg @ref LL_EXTI_LINE_51
2875 * @arg @ref LL_EXTI_LINE_52
2876 * @arg @ref LL_EXTI_LINE_53
2879 __STATIC_INLINE
void LL_D3_EXTI_DisablePendMask_32_63(uint32_t ExtiLine
)
2881 CLEAR_BIT(EXTI
->D3PMR2
, ExtiLine
);
2885 * @brief Indicate if ExtiLine D3 Pending Mask is enabled for Lines in range 0 to 31
2886 * @rmtoll D3PMR1 MRx LL_D3_EXTI_IsEnabledPendMask_0_31
2887 * @param ExtiLine This parameter can be one of the following values:
2888 * @arg @ref LL_EXTI_LINE_0
2889 * @arg @ref LL_EXTI_LINE_1
2890 * @arg @ref LL_EXTI_LINE_2
2891 * @arg @ref LL_EXTI_LINE_3
2892 * @arg @ref LL_EXTI_LINE_4
2893 * @arg @ref LL_EXTI_LINE_5
2894 * @arg @ref LL_EXTI_LINE_6
2895 * @arg @ref LL_EXTI_LINE_7
2896 * @arg @ref LL_EXTI_LINE_8
2897 * @arg @ref LL_EXTI_LINE_9
2898 * @arg @ref LL_EXTI_LINE_10
2899 * @arg @ref LL_EXTI_LINE_11
2900 * @arg @ref LL_EXTI_LINE_12
2901 * @arg @ref LL_EXTI_LINE_13
2902 * @arg @ref LL_EXTI_LINE_14
2903 * @arg @ref LL_EXTI_LINE_15
2904 * @arg @ref LL_EXTI_LINE_19
2905 * @arg @ref LL_EXTI_LINE_20
2906 * @arg @ref LL_EXTI_LINE_21
2907 * @arg @ref LL_EXTI_LINE_25
2908 * @retval State of bit (1 or 0).
2910 __STATIC_INLINE
uint32_t LL_D3_EXTI_IsEnabledPendMask_0_31(uint32_t ExtiLine
)
2912 return ((READ_BIT(EXTI
->D3PMR1
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2916 * @brief Indicate if ExtiLine D3 Pending Mask is enabled for Lines in range 32 to 63
2917 * @rmtoll D3PMR2 MRx LL_D3_EXTI_IsEnabledPendMask_32_63
2918 * @param ExtiLine This parameter can be one of the following values:
2919 * @arg @ref LL_EXTI_LINE_34
2920 * @arg @ref LL_EXTI_LINE_35
2921 * @arg @ref LL_EXTI_LINE_41
2922 * @arg @ref LL_EXTI_LINE_48
2923 * @arg @ref LL_EXTI_LINE_49
2924 * @arg @ref LL_EXTI_LINE_50
2925 * @arg @ref LL_EXTI_LINE_51
2926 * @arg @ref LL_EXTI_LINE_52
2927 * @arg @ref LL_EXTI_LINE_53
2928 * @retval State of bit (1 or 0).
2930 __STATIC_INLINE
uint32_t LL_D3_EXTI_IsEnabledPendMask_32_63(uint32_t ExtiLine
)
2932 return ((READ_BIT(EXTI
->D3PMR2
, ExtiLine
) == (ExtiLine
)) ? 1U : 0U);
2936 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 0 to 15
2937 * @rmtoll D3PCR1L PCSx LL_D3_EXTI_SetPendClearSel_0_15
2938 * @param ExtiLine This parameter can be one of the following values:
2939 * @arg @ref LL_EXTI_LINE_0
2940 * @arg @ref LL_EXTI_LINE_1
2941 * @arg @ref LL_EXTI_LINE_2
2942 * @arg @ref LL_EXTI_LINE_3
2943 * @arg @ref LL_EXTI_LINE_4
2944 * @arg @ref LL_EXTI_LINE_5
2945 * @arg @ref LL_EXTI_LINE_6
2946 * @arg @ref LL_EXTI_LINE_7
2947 * @arg @ref LL_EXTI_LINE_8
2948 * @arg @ref LL_EXTI_LINE_9
2949 * @arg @ref LL_EXTI_LINE_10
2950 * @arg @ref LL_EXTI_LINE_11
2951 * @arg @ref LL_EXTI_LINE_12
2952 * @arg @ref LL_EXTI_LINE_13
2953 * @arg @ref LL_EXTI_LINE_14
2954 * @arg @ref LL_EXTI_LINE_15
2955 * @param ClrSrc This parameter can be one of the following values:
2956 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
2957 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
2958 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
2959 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
2962 __STATIC_INLINE
void LL_D3_EXTI_SetPendClearSel_0_15(uint32_t ExtiLine
, uint32_t ClrSrc
)
2964 MODIFY_REG(EXTI
->D3PCR1L
, ((ExtiLine
* ExtiLine
) * 3UL), ((ExtiLine
* ExtiLine
) * ClrSrc
));
2968 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 16 to 31
2969 * @rmtoll D3PCR1H PCSx LL_D3_EXTI_SetPendClearSel_16_31
2970 * @param ExtiLine This parameter can be one of the following values:
2971 * @arg @ref LL_EXTI_LINE_19
2972 * @arg @ref LL_EXTI_LINE_20
2973 * @arg @ref LL_EXTI_LINE_21
2974 * @arg @ref LL_EXTI_LINE_25
2975 * @param ClrSrc This parameter can be one of the following values:
2976 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
2977 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
2978 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
2979 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
2982 __STATIC_INLINE
void LL_D3_EXTI_SetPendClearSel_16_31(uint32_t ExtiLine
, uint32_t ClrSrc
)
2984 MODIFY_REG(EXTI
->D3PCR1H
, (((ExtiLine
>> EXTI_IMR1_IM16_Pos
) * (ExtiLine
>> EXTI_IMR1_IM16_Pos
)) * 3UL), (((ExtiLine
>> EXTI_IMR1_IM16_Pos
) * (ExtiLine
>> EXTI_IMR1_IM16_Pos
)) * ClrSrc
));
2989 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 32 to 47
2990 * @rmtoll D3PCR2L PCSx LL_D3_EXTI_SetPendClearSel_32_47
2991 * @param ExtiLine This parameter can be one of the following values:
2992 * @arg @ref LL_EXTI_LINE_34
2993 * @arg @ref LL_EXTI_LINE_35
2994 * @arg @ref LL_EXTI_LINE_41
2995 * @param ClrSrc This parameter can be one of the following values:
2996 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
2997 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
2998 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
2999 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3002 __STATIC_INLINE
void LL_D3_EXTI_SetPendClearSel_32_47(uint32_t ExtiLine
, uint32_t ClrSrc
)
3004 MODIFY_REG(EXTI
->D3PCR2L
, ((ExtiLine
* ExtiLine
) * 3UL), ((ExtiLine
* ExtiLine
) * ClrSrc
));
3008 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 48 to 63
3009 * @rmtoll D3PCR2H PCSx LL_D3_EXTI_SetPendClearSel_48_63
3010 * @param ExtiLine This parameter can be one of the following values:
3011 * @arg @ref LL_EXTI_LINE_48
3012 * @arg @ref LL_EXTI_LINE_49
3013 * @arg @ref LL_EXTI_LINE_50
3014 * @arg @ref LL_EXTI_LINE_51
3015 * @arg @ref LL_EXTI_LINE_52
3016 * @arg @ref LL_EXTI_LINE_53
3017 * @param ClrSrc This parameter can be one of the following values:
3018 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
3019 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
3020 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
3021 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3024 __STATIC_INLINE
void LL_D3_EXTI_SetPendClearSel_48_63(uint32_t ExtiLine
, uint32_t ClrSrc
)
3026 MODIFY_REG(EXTI
->D3PCR2H
, (((ExtiLine
>> EXTI_IMR2_IM48_Pos
) * (ExtiLine
>> EXTI_IMR2_IM48_Pos
)) * 3UL), (((ExtiLine
>> EXTI_IMR2_IM48_Pos
) * (ExtiLine
>> EXTI_IMR2_IM48_Pos
)) * ClrSrc
));
3030 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 0 to 15
3031 * @rmtoll D3PCR1L PCSx LL_D3_EXTI_GetPendClearSel_0_15
3032 * @param ExtiLine This parameter can be one of the following values:
3033 * @arg @ref LL_EXTI_LINE_0
3034 * @arg @ref LL_EXTI_LINE_1
3035 * @arg @ref LL_EXTI_LINE_2
3036 * @arg @ref LL_EXTI_LINE_3
3037 * @arg @ref LL_EXTI_LINE_4
3038 * @arg @ref LL_EXTI_LINE_5
3039 * @arg @ref LL_EXTI_LINE_6
3040 * @arg @ref LL_EXTI_LINE_7
3041 * @arg @ref LL_EXTI_LINE_8
3042 * @arg @ref LL_EXTI_LINE_9
3043 * @arg @ref LL_EXTI_LINE_10
3044 * @arg @ref LL_EXTI_LINE_11
3045 * @arg @ref LL_EXTI_LINE_12
3046 * @arg @ref LL_EXTI_LINE_13
3047 * @arg @ref LL_EXTI_LINE_14
3048 * @arg @ref LL_EXTI_LINE_15
3049 * @retval Returned value can be one of the following values:
3050 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
3051 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
3052 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
3053 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3055 __STATIC_INLINE
uint32_t LL_D3_EXTI_GetPendClearSel_0_15(uint32_t ExtiLine
)
3057 return (uint32_t)(READ_BIT(EXTI
->D3PCR1L
, ((ExtiLine
* ExtiLine
) * 3UL)) / (ExtiLine
* ExtiLine
));
3061 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 16 to 31
3062 * @rmtoll D3PCR1H PCSx LL_D3_EXTI_GetPendClearSel_16_31
3063 * @param ExtiLine This parameter can be one of the following values:
3064 * @arg @ref LL_EXTI_LINE_19
3065 * @arg @ref LL_EXTI_LINE_20
3066 * @arg @ref LL_EXTI_LINE_21
3067 * @arg @ref LL_EXTI_LINE_25
3068 * @retval Returned value can be one of the following values:
3069 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
3070 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
3071 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
3072 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3074 __STATIC_INLINE
uint32_t LL_D3_EXTI_GetPendClearSel_16_31(uint32_t ExtiLine
)
3076 return (uint32_t)(READ_BIT(EXTI
->D3PCR1H
, (((ExtiLine
>> EXTI_IMR1_IM16_Pos
) * (ExtiLine
>> EXTI_IMR1_IM16_Pos
)) * 3UL)) / ((ExtiLine
>> EXTI_IMR1_IM16_Pos
) * (ExtiLine
>> EXTI_IMR1_IM16_Pos
)));
3080 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 32 to 47
3081 * @rmtoll D3PCR2L PCSx LL_D3_EXTI_GetPendClearSel_32_47
3082 * @param ExtiLine This parameter can be one of the following values:
3083 * @arg @ref LL_EXTI_LINE_34
3084 * @arg @ref LL_EXTI_LINE_35
3085 * @arg @ref LL_EXTI_LINE_41
3086 * @retval Returned value can be one of the following values:
3087 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
3088 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
3089 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
3090 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3092 __STATIC_INLINE
uint32_t LL_D3_EXTI_GetPendClearSel_32_47(uint32_t ExtiLine
)
3094 return (uint32_t)(READ_BIT(EXTI
->D3PCR2L
, ((ExtiLine
* ExtiLine
) * 3UL)) / (ExtiLine
* ExtiLine
));
3098 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 48 to 63
3099 * @rmtoll D3PCR2H PCSx LL_D3_EXTI_GetPendClearSel_48_63
3100 * @param ExtiLine This parameter can be one of the following values:
3101 * @arg @ref LL_EXTI_LINE_48
3102 * @arg @ref LL_EXTI_LINE_49
3103 * @arg @ref LL_EXTI_LINE_50
3104 * @arg @ref LL_EXTI_LINE_51
3105 * @arg @ref LL_EXTI_LINE_52
3106 * @arg @ref LL_EXTI_LINE_53
3107 * @retval Returned value can be one of the following values:
3108 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6
3109 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7
3110 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4
3111 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5
3113 __STATIC_INLINE
uint32_t LL_D3_EXTI_GetPendClearSel_48_63(uint32_t ExtiLine
)
3115 return (uint32_t)(READ_BIT(EXTI
->D3PCR2H
, (((ExtiLine
>> EXTI_IMR2_IM48_Pos
) * (ExtiLine
>> EXTI_IMR2_IM48_Pos
)) * 3UL)) / ((ExtiLine
>> EXTI_IMR2_IM48_Pos
) * (ExtiLine
>> EXTI_IMR2_IM48_Pos
)));
3124 #if defined(USE_FULL_LL_DRIVER)
3125 /** @defgroup EXTI_LL_EF_Init Initialization and de-initialization functions
3129 ErrorStatus
LL_EXTI_Init(LL_EXTI_InitTypeDef
*EXTI_InitStruct
);
3130 ErrorStatus
LL_EXTI_DeInit(void);
3131 void LL_EXTI_StructInit(LL_EXTI_InitTypeDef
*EXTI_InitStruct
);
3137 #endif /* USE_FULL_LL_DRIVER */
3157 #endif /* __STM32H7xx_LL_EXTI_H */
3159 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/