Subversion Repositories DashDisplay

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
56 mjames 1
/**
2
  ******************************************************************************
3
  * @file    stm32l1xx_ll_exti.h
4
  * @author  MCD Application Team
5
  * @brief   Header file of EXTI LL module.
6
  ******************************************************************************
7
  * @attention
8
  *
9
  * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
10
  * All rights reserved.</center></h2>
11
  *
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
16
  *
17
  ******************************************************************************
18
  */
19
 
20
/* Define to prevent recursive inclusion -------------------------------------*/
21
#ifndef STM32L1xx_LL_EXTI_H
22
#define STM32L1xx_LL_EXTI_H
23
 
24
#ifdef __cplusplus
25
extern "C" {
26
#endif
27
 
28
/* Includes ------------------------------------------------------------------*/
29
#include "stm32l1xx.h"
30
 
31
/** @addtogroup STM32L1xx_LL_Driver
32
  * @{
33
  */
34
 
35
#if defined (EXTI)
36
 
37
/** @defgroup EXTI_LL EXTI
38
  * @{
39
  */
40
 
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
47
  * @{
48
  */
49
/**
50
  * @}
51
  */
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
56
  * @{
57
  */
58
typedef struct
59
{
60
 
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 */
63
 
64
  FunctionalState LineCommand;  /*!< Specifies the new state of the selected EXTI lines.
65
                                     This parameter can be set either to ENABLE or DISABLE */
66
 
67
  uint8_t Mode;                 /*!< Specifies the mode for the EXTI lines.
68
                                     This parameter can be a value of @ref EXTI_LL_EC_MODE. */
69
 
70
  uint8_t Trigger;              /*!< Specifies the trigger signal active edge for the EXTI lines.
71
                                     This parameter can be a value of @ref EXTI_LL_EC_TRIGGER. */
72
} LL_EXTI_InitTypeDef;
73
 
74
/**
75
  * @}
76
  */
77
#endif /*USE_FULL_LL_DRIVER*/
78
 
79
/* Exported constants --------------------------------------------------------*/
80
/** @defgroup EXTI_LL_Exported_Constants EXTI Exported Constants
81
  * @{
82
  */
83
 
84
/** @defgroup EXTI_LL_EC_LINE LINE
85
  * @{
86
  */
87
#define LL_EXTI_LINE_0                 EXTI_IMR_IM0           /*!< Extended line 0 */
88
#define LL_EXTI_LINE_1                 EXTI_IMR_IM1           /*!< Extended line 1 */
89
#define LL_EXTI_LINE_2                 EXTI_IMR_IM2           /*!< Extended line 2 */
90
#define LL_EXTI_LINE_3                 EXTI_IMR_IM3           /*!< Extended line 3 */
91
#define LL_EXTI_LINE_4                 EXTI_IMR_IM4           /*!< Extended line 4 */
92
#define LL_EXTI_LINE_5                 EXTI_IMR_IM5           /*!< Extended line 5 */
93
#define LL_EXTI_LINE_6                 EXTI_IMR_IM6           /*!< Extended line 6 */
94
#define LL_EXTI_LINE_7                 EXTI_IMR_IM7           /*!< Extended line 7 */
95
#define LL_EXTI_LINE_8                 EXTI_IMR_IM8           /*!< Extended line 8 */
96
#define LL_EXTI_LINE_9                 EXTI_IMR_IM9           /*!< Extended line 9 */
97
#define LL_EXTI_LINE_10                EXTI_IMR_IM10          /*!< Extended line 10 */
98
#define LL_EXTI_LINE_11                EXTI_IMR_IM11          /*!< Extended line 11 */
99
#define LL_EXTI_LINE_12                EXTI_IMR_IM12          /*!< Extended line 12 */
100
#define LL_EXTI_LINE_13                EXTI_IMR_IM13          /*!< Extended line 13 */
101
#define LL_EXTI_LINE_14                EXTI_IMR_IM14          /*!< Extended line 14 */
102
#define LL_EXTI_LINE_15                EXTI_IMR_IM15          /*!< Extended line 15 */
103
#if defined(EXTI_IMR_IM16)
104
#define LL_EXTI_LINE_16                EXTI_IMR_IM16          /*!< Extended line 16 */
105
#endif
106
#define LL_EXTI_LINE_17                EXTI_IMR_IM17          /*!< Extended line 17 */
107
#if defined(EXTI_IMR_IM18)
108
#define LL_EXTI_LINE_18                EXTI_IMR_IM18          /*!< Extended line 18 */
109
#endif
110
#define LL_EXTI_LINE_19                EXTI_IMR_IM19          /*!< Extended line 19 */
111
#if defined(EXTI_IMR_IM20)
112
#define LL_EXTI_LINE_20                EXTI_IMR_IM20          /*!< Extended line 20 */
113
#endif
114
#if defined(EXTI_IMR_IM21)
115
#define LL_EXTI_LINE_21                EXTI_IMR_IM21          /*!< Extended line 21 */
116
#endif
117
#if defined(EXTI_IMR_IM22)
118
#define LL_EXTI_LINE_22                EXTI_IMR_IM22          /*!< Extended line 22 */
119
#endif
120
#define LL_EXTI_LINE_23                EXTI_IMR_IM23          /*!< Extended line 23 */
121
#if defined(EXTI_IMR_IM24)
122
#define LL_EXTI_LINE_24                EXTI_IMR_IM24          /*!< Extended line 24 */
123
#endif
124
#if defined(EXTI_IMR_IM25)
125
#define LL_EXTI_LINE_25                EXTI_IMR_IM25          /*!< Extended line 25 */
126
#endif
127
#if defined(EXTI_IMR_IM26)
128
#define LL_EXTI_LINE_26                EXTI_IMR_IM26          /*!< Extended line 26 */
129
#endif
130
#if defined(EXTI_IMR_IM27)
131
#define LL_EXTI_LINE_27                EXTI_IMR_IM27          /*!< Extended line 27 */
132
#endif
133
#if defined(EXTI_IMR_IM28)
134
#define LL_EXTI_LINE_28                EXTI_IMR_IM28          /*!< Extended line 28 */
135
#endif
136
#if defined(EXTI_IMR_IM29)
137
#define LL_EXTI_LINE_29                EXTI_IMR_IM29          /*!< Extended line 29 */
138
#endif
139
#if defined(EXTI_IMR_IM30)
140
#define LL_EXTI_LINE_30                EXTI_IMR_IM30          /*!< Extended line 30 */
141
#endif
142
#if defined(EXTI_IMR_IM31)
143
#define LL_EXTI_LINE_31                EXTI_IMR_IM31          /*!< Extended line 31 */
144
#endif
145
#define LL_EXTI_LINE_ALL_0_31          EXTI_IMR_IM            /*!< All Extended line not reserved*/
146
 
147
 
148
#define LL_EXTI_LINE_ALL               (0xFFFFFFFFU)  /*!< All Extended line */
149
 
150
#if defined(USE_FULL_LL_DRIVER)
151
#define LL_EXTI_LINE_NONE              (0x00000000U)  /*!< None Extended line */
152
#endif /*USE_FULL_LL_DRIVER*/
153
 
154
/**
155
  * @}
156
  */
157
#if defined(USE_FULL_LL_DRIVER)
158
 
159
/** @defgroup EXTI_LL_EC_MODE Mode
160
  * @{
161
  */
162
#define LL_EXTI_MODE_IT                 ((uint8_t)0x00U) /*!< Interrupt Mode */
163
#define LL_EXTI_MODE_EVENT              ((uint8_t)0x01U) /*!< Event Mode */
164
#define LL_EXTI_MODE_IT_EVENT           ((uint8_t)0x02U) /*!< Interrupt & Event Mode */
165
/**
166
  * @}
167
  */
168
 
169
/** @defgroup EXTI_LL_EC_TRIGGER Edge Trigger
170
  * @{
171
  */
172
#define LL_EXTI_TRIGGER_NONE            ((uint8_t)0x00U) /*!< No Trigger Mode */
173
#define LL_EXTI_TRIGGER_RISING          ((uint8_t)0x01U) /*!< Trigger Rising Mode */
174
#define LL_EXTI_TRIGGER_FALLING         ((uint8_t)0x02U) /*!< Trigger Falling Mode */
175
#define LL_EXTI_TRIGGER_RISING_FALLING  ((uint8_t)0x03U) /*!< Trigger Rising & Falling Mode */
176
 
177
/**
178
  * @}
179
  */
180
 
181
 
182
#endif /*USE_FULL_LL_DRIVER*/
183
 
184
 
185
/**
186
  * @}
187
  */
188
 
189
/* Exported macro ------------------------------------------------------------*/
190
/** @defgroup EXTI_LL_Exported_Macros EXTI Exported Macros
191
  * @{
192
  */
193
 
194
/** @defgroup EXTI_LL_EM_WRITE_READ Common Write and read registers Macros
195
  * @{
196
  */
197
 
198
/**
199
  * @brief  Write a value in EXTI register
200
  * @param  __REG__ Register to be written
201
  * @param  __VALUE__ Value to be written in the register
202
  * @retval None
203
  */
204
#define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
205
 
206
/**
207
  * @brief  Read a value in EXTI register
208
  * @param  __REG__ Register to be read
209
  * @retval Register value
210
  */
211
#define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
212
/**
213
  * @}
214
  */
215
 
216
 
217
/**
218
  * @}
219
  */
220
 
221
 
222
 
223
/* Exported functions --------------------------------------------------------*/
224
/** @defgroup EXTI_LL_Exported_Functions EXTI Exported Functions
225
 * @{
226
 */
227
/** @defgroup EXTI_LL_EF_IT_Management IT_Management
228
  * @{
229
  */
230
 
231
/**
232
  * @brief  Enable ExtiLine Interrupt request for Lines in range 0 to 31
233
  * @note The reset value for the direct or internal lines (see RM)
234
  *       is set to 1 in order to enable the interrupt by default.
235
  *       Bits are set automatically at Power on.
236
  * @rmtoll IMR         IMx           LL_EXTI_EnableIT_0_31
237
  * @param  ExtiLine This parameter can be one of the following values:
238
  *         @arg @ref LL_EXTI_LINE_0
239
  *         @arg @ref LL_EXTI_LINE_1
240
  *         @arg @ref LL_EXTI_LINE_2
241
  *         @arg @ref LL_EXTI_LINE_3
242
  *         @arg @ref LL_EXTI_LINE_4
243
  *         @arg @ref LL_EXTI_LINE_5
244
  *         @arg @ref LL_EXTI_LINE_6
245
  *         @arg @ref LL_EXTI_LINE_7
246
  *         @arg @ref LL_EXTI_LINE_8
247
  *         @arg @ref LL_EXTI_LINE_9
248
  *         @arg @ref LL_EXTI_LINE_10
249
  *         @arg @ref LL_EXTI_LINE_11
250
  *         @arg @ref LL_EXTI_LINE_12
251
  *         @arg @ref LL_EXTI_LINE_13
252
  *         @arg @ref LL_EXTI_LINE_14
253
  *         @arg @ref LL_EXTI_LINE_15
254
  *         @arg @ref LL_EXTI_LINE_16
255
  *         @arg @ref LL_EXTI_LINE_17
256
  *         @arg @ref LL_EXTI_LINE_18
257
  *         @arg @ref LL_EXTI_LINE_19
258
  *         @arg @ref LL_EXTI_LINE_20
259
  *         @arg @ref LL_EXTI_LINE_21
260
  *         @arg @ref LL_EXTI_LINE_22
261
  *         @arg @ref LL_EXTI_LINE_23
262
  *         @arg @ref LL_EXTI_LINE_24
263
  *         @arg @ref LL_EXTI_LINE_25
264
  *         @arg @ref LL_EXTI_LINE_26
265
  *         @arg @ref LL_EXTI_LINE_27
266
  *         @arg @ref LL_EXTI_LINE_28
267
  *         @arg @ref LL_EXTI_LINE_29
268
  *         @arg @ref LL_EXTI_LINE_30
269
  *         @arg @ref LL_EXTI_LINE_31
270
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
271
  * @note   Please check each device line mapping for EXTI Line availability
272
  * @retval None
273
  */
274
__STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
275
{
276
  SET_BIT(EXTI->IMR, ExtiLine);
277
}
278
 
279
/**
280
  * @brief  Disable ExtiLine Interrupt request for Lines in range 0 to 31
281
  * @note The reset value for the direct or internal lines (see RM)
282
  *       is set to 1 in order to enable the interrupt by default.
283
  *       Bits are set automatically at Power on.
284
  * @rmtoll IMR         IMx           LL_EXTI_DisableIT_0_31
285
  * @param  ExtiLine This parameter can be one of the following values:
286
  *         @arg @ref LL_EXTI_LINE_0
287
  *         @arg @ref LL_EXTI_LINE_1
288
  *         @arg @ref LL_EXTI_LINE_2
289
  *         @arg @ref LL_EXTI_LINE_3
290
  *         @arg @ref LL_EXTI_LINE_4
291
  *         @arg @ref LL_EXTI_LINE_5
292
  *         @arg @ref LL_EXTI_LINE_6
293
  *         @arg @ref LL_EXTI_LINE_7
294
  *         @arg @ref LL_EXTI_LINE_8
295
  *         @arg @ref LL_EXTI_LINE_9
296
  *         @arg @ref LL_EXTI_LINE_10
297
  *         @arg @ref LL_EXTI_LINE_11
298
  *         @arg @ref LL_EXTI_LINE_12
299
  *         @arg @ref LL_EXTI_LINE_13
300
  *         @arg @ref LL_EXTI_LINE_14
301
  *         @arg @ref LL_EXTI_LINE_15
302
  *         @arg @ref LL_EXTI_LINE_16
303
  *         @arg @ref LL_EXTI_LINE_17
304
  *         @arg @ref LL_EXTI_LINE_18
305
  *         @arg @ref LL_EXTI_LINE_19
306
  *         @arg @ref LL_EXTI_LINE_20
307
  *         @arg @ref LL_EXTI_LINE_21
308
  *         @arg @ref LL_EXTI_LINE_22
309
  *         @arg @ref LL_EXTI_LINE_23
310
  *         @arg @ref LL_EXTI_LINE_24
311
  *         @arg @ref LL_EXTI_LINE_25
312
  *         @arg @ref LL_EXTI_LINE_26
313
  *         @arg @ref LL_EXTI_LINE_27
314
  *         @arg @ref LL_EXTI_LINE_28
315
  *         @arg @ref LL_EXTI_LINE_29
316
  *         @arg @ref LL_EXTI_LINE_30
317
  *         @arg @ref LL_EXTI_LINE_31
318
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
319
  * @note   Please check each device line mapping for EXTI Line availability
320
  * @retval None
321
  */
322
__STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
323
{
324
  CLEAR_BIT(EXTI->IMR, ExtiLine);
325
}
326
 
327
 
328
/**
329
  * @brief  Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31
330
  * @note The reset value for the direct or internal lines (see RM)
331
  *       is set to 1 in order to enable the interrupt by default.
332
  *       Bits are set automatically at Power on.
333
  * @rmtoll IMR         IMx           LL_EXTI_IsEnabledIT_0_31
334
  * @param  ExtiLine This parameter can be one of the following values:
335
  *         @arg @ref LL_EXTI_LINE_0
336
  *         @arg @ref LL_EXTI_LINE_1
337
  *         @arg @ref LL_EXTI_LINE_2
338
  *         @arg @ref LL_EXTI_LINE_3
339
  *         @arg @ref LL_EXTI_LINE_4
340
  *         @arg @ref LL_EXTI_LINE_5
341
  *         @arg @ref LL_EXTI_LINE_6
342
  *         @arg @ref LL_EXTI_LINE_7
343
  *         @arg @ref LL_EXTI_LINE_8
344
  *         @arg @ref LL_EXTI_LINE_9
345
  *         @arg @ref LL_EXTI_LINE_10
346
  *         @arg @ref LL_EXTI_LINE_11
347
  *         @arg @ref LL_EXTI_LINE_12
348
  *         @arg @ref LL_EXTI_LINE_13
349
  *         @arg @ref LL_EXTI_LINE_14
350
  *         @arg @ref LL_EXTI_LINE_15
351
  *         @arg @ref LL_EXTI_LINE_16
352
  *         @arg @ref LL_EXTI_LINE_17
353
  *         @arg @ref LL_EXTI_LINE_18
354
  *         @arg @ref LL_EXTI_LINE_19
355
  *         @arg @ref LL_EXTI_LINE_20
356
  *         @arg @ref LL_EXTI_LINE_21
357
  *         @arg @ref LL_EXTI_LINE_22
358
  *         @arg @ref LL_EXTI_LINE_23
359
  *         @arg @ref LL_EXTI_LINE_24
360
  *         @arg @ref LL_EXTI_LINE_25
361
  *         @arg @ref LL_EXTI_LINE_26
362
  *         @arg @ref LL_EXTI_LINE_27
363
  *         @arg @ref LL_EXTI_LINE_28
364
  *         @arg @ref LL_EXTI_LINE_29
365
  *         @arg @ref LL_EXTI_LINE_30
366
  *         @arg @ref LL_EXTI_LINE_31
367
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
368
  * @note   Please check each device line mapping for EXTI Line availability
369
  * @retval State of bit (1 or 0).
370
  */
371
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
372
{
373
  return (READ_BIT(EXTI->IMR, ExtiLine) == (ExtiLine));
374
}
375
 
376
 
377
/**
378
  * @}
379
  */
380
 
381
/** @defgroup EXTI_LL_EF_Event_Management Event_Management
382
  * @{
383
  */
384
 
385
/**
386
  * @brief  Enable ExtiLine Event request for Lines in range 0 to 31
387
  * @rmtoll EMR         EMx           LL_EXTI_EnableEvent_0_31
388
  * @param  ExtiLine This parameter can be one of the following values:
389
  *         @arg @ref LL_EXTI_LINE_0
390
  *         @arg @ref LL_EXTI_LINE_1
391
  *         @arg @ref LL_EXTI_LINE_2
392
  *         @arg @ref LL_EXTI_LINE_3
393
  *         @arg @ref LL_EXTI_LINE_4
394
  *         @arg @ref LL_EXTI_LINE_5
395
  *         @arg @ref LL_EXTI_LINE_6
396
  *         @arg @ref LL_EXTI_LINE_7
397
  *         @arg @ref LL_EXTI_LINE_8
398
  *         @arg @ref LL_EXTI_LINE_9
399
  *         @arg @ref LL_EXTI_LINE_10
400
  *         @arg @ref LL_EXTI_LINE_11
401
  *         @arg @ref LL_EXTI_LINE_12
402
  *         @arg @ref LL_EXTI_LINE_13
403
  *         @arg @ref LL_EXTI_LINE_14
404
  *         @arg @ref LL_EXTI_LINE_15
405
  *         @arg @ref LL_EXTI_LINE_16
406
  *         @arg @ref LL_EXTI_LINE_17
407
  *         @arg @ref LL_EXTI_LINE_18
408
  *         @arg @ref LL_EXTI_LINE_19
409
  *         @arg @ref LL_EXTI_LINE_20
410
  *         @arg @ref LL_EXTI_LINE_21
411
  *         @arg @ref LL_EXTI_LINE_22
412
  *         @arg @ref LL_EXTI_LINE_23
413
  *         @arg @ref LL_EXTI_LINE_24
414
  *         @arg @ref LL_EXTI_LINE_25
415
  *         @arg @ref LL_EXTI_LINE_26
416
  *         @arg @ref LL_EXTI_LINE_27
417
  *         @arg @ref LL_EXTI_LINE_28
418
  *         @arg @ref LL_EXTI_LINE_29
419
  *         @arg @ref LL_EXTI_LINE_30
420
  *         @arg @ref LL_EXTI_LINE_31
421
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
422
  * @note   Please check each device line mapping for EXTI Line availability
423
  * @retval None
424
  */
425
__STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
426
{
427
  SET_BIT(EXTI->EMR, ExtiLine);
428
 
429
}
430
 
431
 
432
/**
433
  * @brief  Disable ExtiLine Event request for Lines in range 0 to 31
434
  * @rmtoll EMR         EMx           LL_EXTI_DisableEvent_0_31
435
  * @param  ExtiLine This parameter can be one of the following values:
436
  *         @arg @ref LL_EXTI_LINE_0
437
  *         @arg @ref LL_EXTI_LINE_1
438
  *         @arg @ref LL_EXTI_LINE_2
439
  *         @arg @ref LL_EXTI_LINE_3
440
  *         @arg @ref LL_EXTI_LINE_4
441
  *         @arg @ref LL_EXTI_LINE_5
442
  *         @arg @ref LL_EXTI_LINE_6
443
  *         @arg @ref LL_EXTI_LINE_7
444
  *         @arg @ref LL_EXTI_LINE_8
445
  *         @arg @ref LL_EXTI_LINE_9
446
  *         @arg @ref LL_EXTI_LINE_10
447
  *         @arg @ref LL_EXTI_LINE_11
448
  *         @arg @ref LL_EXTI_LINE_12
449
  *         @arg @ref LL_EXTI_LINE_13
450
  *         @arg @ref LL_EXTI_LINE_14
451
  *         @arg @ref LL_EXTI_LINE_15
452
  *         @arg @ref LL_EXTI_LINE_16
453
  *         @arg @ref LL_EXTI_LINE_17
454
  *         @arg @ref LL_EXTI_LINE_18
455
  *         @arg @ref LL_EXTI_LINE_19
456
  *         @arg @ref LL_EXTI_LINE_20
457
  *         @arg @ref LL_EXTI_LINE_21
458
  *         @arg @ref LL_EXTI_LINE_22
459
  *         @arg @ref LL_EXTI_LINE_23
460
  *         @arg @ref LL_EXTI_LINE_24
461
  *         @arg @ref LL_EXTI_LINE_25
462
  *         @arg @ref LL_EXTI_LINE_26
463
  *         @arg @ref LL_EXTI_LINE_27
464
  *         @arg @ref LL_EXTI_LINE_28
465
  *         @arg @ref LL_EXTI_LINE_29
466
  *         @arg @ref LL_EXTI_LINE_30
467
  *         @arg @ref LL_EXTI_LINE_31
468
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
469
  * @note   Please check each device line mapping for EXTI Line availability
470
  * @retval None
471
  */
472
__STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
473
{
474
  CLEAR_BIT(EXTI->EMR, ExtiLine);
475
}
476
 
477
 
478
/**
479
  * @brief  Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31
480
  * @rmtoll EMR         EMx           LL_EXTI_IsEnabledEvent_0_31
481
  * @param  ExtiLine This parameter can be one of the following values:
482
  *         @arg @ref LL_EXTI_LINE_0
483
  *         @arg @ref LL_EXTI_LINE_1
484
  *         @arg @ref LL_EXTI_LINE_2
485
  *         @arg @ref LL_EXTI_LINE_3
486
  *         @arg @ref LL_EXTI_LINE_4
487
  *         @arg @ref LL_EXTI_LINE_5
488
  *         @arg @ref LL_EXTI_LINE_6
489
  *         @arg @ref LL_EXTI_LINE_7
490
  *         @arg @ref LL_EXTI_LINE_8
491
  *         @arg @ref LL_EXTI_LINE_9
492
  *         @arg @ref LL_EXTI_LINE_10
493
  *         @arg @ref LL_EXTI_LINE_11
494
  *         @arg @ref LL_EXTI_LINE_12
495
  *         @arg @ref LL_EXTI_LINE_13
496
  *         @arg @ref LL_EXTI_LINE_14
497
  *         @arg @ref LL_EXTI_LINE_15
498
  *         @arg @ref LL_EXTI_LINE_16
499
  *         @arg @ref LL_EXTI_LINE_17
500
  *         @arg @ref LL_EXTI_LINE_18
501
  *         @arg @ref LL_EXTI_LINE_19
502
  *         @arg @ref LL_EXTI_LINE_20
503
  *         @arg @ref LL_EXTI_LINE_21
504
  *         @arg @ref LL_EXTI_LINE_22
505
  *         @arg @ref LL_EXTI_LINE_23
506
  *         @arg @ref LL_EXTI_LINE_24
507
  *         @arg @ref LL_EXTI_LINE_25
508
  *         @arg @ref LL_EXTI_LINE_26
509
  *         @arg @ref LL_EXTI_LINE_27
510
  *         @arg @ref LL_EXTI_LINE_28
511
  *         @arg @ref LL_EXTI_LINE_29
512
  *         @arg @ref LL_EXTI_LINE_30
513
  *         @arg @ref LL_EXTI_LINE_31
514
  *         @arg @ref LL_EXTI_LINE_ALL_0_31
515
  * @note   Please check each device line mapping for EXTI Line availability
516
  * @retval State of bit (1 or 0).
517
  */
518
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
519
{
520
  return (READ_BIT(EXTI->EMR, ExtiLine) == (ExtiLine));
521
 
522
}
523
 
524
 
525
/**
526
  * @}
527
  */
528
 
529
/** @defgroup EXTI_LL_EF_Rising_Trigger_Management Rising_Trigger_Management
530
  * @{
531
  */
532
 
533
/**
534
  * @brief  Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
535
  * @note The configurable wakeup lines are edge-triggered. No glitch must be
536
  *       generated on these lines. If a rising edge on a configurable interrupt
537
  *       line occurs during a write operation in the EXTI_RTSR register, the
538
  *       pending bit is not set.
539
  *       Rising and falling edge triggers can be set for
540
  *       the same interrupt line. In this case, both generate a trigger
541
  *       condition.
542
  * @rmtoll RTSR        RTx           LL_EXTI_EnableRisingTrig_0_31
543
  * @param  ExtiLine This parameter can be a combination of the following values:
544
  *         @arg @ref LL_EXTI_LINE_0
545
  *         @arg @ref LL_EXTI_LINE_1
546
  *         @arg @ref LL_EXTI_LINE_2
547
  *         @arg @ref LL_EXTI_LINE_3
548
  *         @arg @ref LL_EXTI_LINE_4
549
  *         @arg @ref LL_EXTI_LINE_5
550
  *         @arg @ref LL_EXTI_LINE_6
551
  *         @arg @ref LL_EXTI_LINE_7
552
  *         @arg @ref LL_EXTI_LINE_8
553
  *         @arg @ref LL_EXTI_LINE_9
554
  *         @arg @ref LL_EXTI_LINE_10
555
  *         @arg @ref LL_EXTI_LINE_11
556
  *         @arg @ref LL_EXTI_LINE_12
557
  *         @arg @ref LL_EXTI_LINE_13
558
  *         @arg @ref LL_EXTI_LINE_14
559
  *         @arg @ref LL_EXTI_LINE_15
560
  *         @arg @ref LL_EXTI_LINE_16
561
  *         @arg @ref LL_EXTI_LINE_18
562
  *         @arg @ref LL_EXTI_LINE_19
563
  *         @arg @ref LL_EXTI_LINE_20
564
  *         @arg @ref LL_EXTI_LINE_21
565
  *         @arg @ref LL_EXTI_LINE_22
566
  *         @arg @ref LL_EXTI_LINE_29
567
  *         @arg @ref LL_EXTI_LINE_30
568
  *         @arg @ref LL_EXTI_LINE_31
569
  * @note   Please check each device line mapping for EXTI Line availability
570
  * @retval None
571
  */
572
__STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
573
{
574
  SET_BIT(EXTI->RTSR, ExtiLine);
575
 
576
}
577
 
578
 
579
/**
580
  * @brief  Disable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
581
  * @note The configurable wakeup lines are edge-triggered. No glitch must be
582
  *       generated on these lines. If a rising edge on a configurable interrupt
583
  *       line occurs during a write operation in the EXTI_RTSR register, the
584
  *       pending bit is not set.
585
  *       Rising and falling edge triggers can be set for
586
  *       the same interrupt line. In this case, both generate a trigger
587
  *       condition.
588
  * @rmtoll RTSR        RTx           LL_EXTI_DisableRisingTrig_0_31
589
  * @param  ExtiLine This parameter can be a combination of the following values:
590
  *         @arg @ref LL_EXTI_LINE_0
591
  *         @arg @ref LL_EXTI_LINE_1
592
  *         @arg @ref LL_EXTI_LINE_2
593
  *         @arg @ref LL_EXTI_LINE_3
594
  *         @arg @ref LL_EXTI_LINE_4
595
  *         @arg @ref LL_EXTI_LINE_5
596
  *         @arg @ref LL_EXTI_LINE_6
597
  *         @arg @ref LL_EXTI_LINE_7
598
  *         @arg @ref LL_EXTI_LINE_8
599
  *         @arg @ref LL_EXTI_LINE_9
600
  *         @arg @ref LL_EXTI_LINE_10
601
  *         @arg @ref LL_EXTI_LINE_11
602
  *         @arg @ref LL_EXTI_LINE_12
603
  *         @arg @ref LL_EXTI_LINE_13
604
  *         @arg @ref LL_EXTI_LINE_14
605
  *         @arg @ref LL_EXTI_LINE_15
606
  *         @arg @ref LL_EXTI_LINE_16
607
  *         @arg @ref LL_EXTI_LINE_18
608
  *         @arg @ref LL_EXTI_LINE_19
609
  *         @arg @ref LL_EXTI_LINE_20
610
  *         @arg @ref LL_EXTI_LINE_21
611
  *         @arg @ref LL_EXTI_LINE_22
612
  *         @arg @ref LL_EXTI_LINE_29
613
  *         @arg @ref LL_EXTI_LINE_30
614
  *         @arg @ref LL_EXTI_LINE_31
615
  * @note   Please check each device line mapping for EXTI Line availability
616
  * @retval None
617
  */
618
__STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
619
{
620
  CLEAR_BIT(EXTI->RTSR, ExtiLine);
621
 
622
}
623
 
624
 
625
/**
626
  * @brief  Check if rising edge trigger is enabled for Lines in range 0 to 31
627
  * @rmtoll RTSR        RTx           LL_EXTI_IsEnabledRisingTrig_0_31
628
  * @param  ExtiLine This parameter can be a combination of the following values:
629
  *         @arg @ref LL_EXTI_LINE_0
630
  *         @arg @ref LL_EXTI_LINE_1
631
  *         @arg @ref LL_EXTI_LINE_2
632
  *         @arg @ref LL_EXTI_LINE_3
633
  *         @arg @ref LL_EXTI_LINE_4
634
  *         @arg @ref LL_EXTI_LINE_5
635
  *         @arg @ref LL_EXTI_LINE_6
636
  *         @arg @ref LL_EXTI_LINE_7
637
  *         @arg @ref LL_EXTI_LINE_8
638
  *         @arg @ref LL_EXTI_LINE_9
639
  *         @arg @ref LL_EXTI_LINE_10
640
  *         @arg @ref LL_EXTI_LINE_11
641
  *         @arg @ref LL_EXTI_LINE_12
642
  *         @arg @ref LL_EXTI_LINE_13
643
  *         @arg @ref LL_EXTI_LINE_14
644
  *         @arg @ref LL_EXTI_LINE_15
645
  *         @arg @ref LL_EXTI_LINE_16
646
  *         @arg @ref LL_EXTI_LINE_18
647
  *         @arg @ref LL_EXTI_LINE_19
648
  *         @arg @ref LL_EXTI_LINE_20
649
  *         @arg @ref LL_EXTI_LINE_21
650
  *         @arg @ref LL_EXTI_LINE_22
651
  *         @arg @ref LL_EXTI_LINE_29
652
  *         @arg @ref LL_EXTI_LINE_30
653
  *         @arg @ref LL_EXTI_LINE_31
654
  * @note   Please check each device line mapping for EXTI Line availability
655
  * @retval State of bit (1 or 0).
656
  */
657
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
658
{
659
  return (READ_BIT(EXTI->RTSR, ExtiLine) == (ExtiLine));
660
}
661
 
662
 
663
/**
664
  * @}
665
  */
666
 
667
/** @defgroup EXTI_LL_EF_Falling_Trigger_Management Falling_Trigger_Management
668
  * @{
669
  */
670
 
671
/**
672
  * @brief  Enable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
673
  * @note The configurable wakeup lines are edge-triggered. No glitch must be
674
  *       generated on these lines. If a falling edge on a configurable interrupt
675
  *       line occurs during a write operation in the EXTI_FTSR register, the
676
  *       pending bit is not set.
677
  *       Rising and falling edge triggers can be set for
678
  *       the same interrupt line. In this case, both generate a trigger
679
  *       condition.
680
  * @rmtoll FTSR        FTx           LL_EXTI_EnableFallingTrig_0_31
681
  * @param  ExtiLine This parameter can be a combination of the following values:
682
  *         @arg @ref LL_EXTI_LINE_0
683
  *         @arg @ref LL_EXTI_LINE_1
684
  *         @arg @ref LL_EXTI_LINE_2
685
  *         @arg @ref LL_EXTI_LINE_3
686
  *         @arg @ref LL_EXTI_LINE_4
687
  *         @arg @ref LL_EXTI_LINE_5
688
  *         @arg @ref LL_EXTI_LINE_6
689
  *         @arg @ref LL_EXTI_LINE_7
690
  *         @arg @ref LL_EXTI_LINE_8
691
  *         @arg @ref LL_EXTI_LINE_9
692
  *         @arg @ref LL_EXTI_LINE_10
693
  *         @arg @ref LL_EXTI_LINE_11
694
  *         @arg @ref LL_EXTI_LINE_12
695
  *         @arg @ref LL_EXTI_LINE_13
696
  *         @arg @ref LL_EXTI_LINE_14
697
  *         @arg @ref LL_EXTI_LINE_15
698
  *         @arg @ref LL_EXTI_LINE_16
699
  *         @arg @ref LL_EXTI_LINE_18
700
  *         @arg @ref LL_EXTI_LINE_19
701
  *         @arg @ref LL_EXTI_LINE_20
702
  *         @arg @ref LL_EXTI_LINE_21
703
  *         @arg @ref LL_EXTI_LINE_22
704
  *         @arg @ref LL_EXTI_LINE_29
705
  *         @arg @ref LL_EXTI_LINE_30
706
  *         @arg @ref LL_EXTI_LINE_31
707
  * @note   Please check each device line mapping for EXTI Line availability
708
  * @retval None
709
  */
710
__STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
711
{
712
  SET_BIT(EXTI->FTSR, ExtiLine);
713
}
714
 
715
 
716
/**
717
  * @brief  Disable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
718
  * @note The configurable wakeup lines are edge-triggered. No glitch must be
719
  *       generated on these lines. If a Falling edge on a configurable interrupt
720
  *       line occurs during a write operation in the EXTI_FTSR register, the
721
  *       pending bit is not set.
722
  *       Rising and falling edge triggers can be set for the same interrupt line.
723
  *       In this case, both generate a trigger condition.
724
  * @rmtoll FTSR        FTx           LL_EXTI_DisableFallingTrig_0_31
725
  * @param  ExtiLine This parameter can be a combination of the following values:
726
  *         @arg @ref LL_EXTI_LINE_0
727
  *         @arg @ref LL_EXTI_LINE_1
728
  *         @arg @ref LL_EXTI_LINE_2
729
  *         @arg @ref LL_EXTI_LINE_3
730
  *         @arg @ref LL_EXTI_LINE_4
731
  *         @arg @ref LL_EXTI_LINE_5
732
  *         @arg @ref LL_EXTI_LINE_6
733
  *         @arg @ref LL_EXTI_LINE_7
734
  *         @arg @ref LL_EXTI_LINE_8
735
  *         @arg @ref LL_EXTI_LINE_9
736
  *         @arg @ref LL_EXTI_LINE_10
737
  *         @arg @ref LL_EXTI_LINE_11
738
  *         @arg @ref LL_EXTI_LINE_12
739
  *         @arg @ref LL_EXTI_LINE_13
740
  *         @arg @ref LL_EXTI_LINE_14
741
  *         @arg @ref LL_EXTI_LINE_15
742
  *         @arg @ref LL_EXTI_LINE_16
743
  *         @arg @ref LL_EXTI_LINE_18
744
  *         @arg @ref LL_EXTI_LINE_19
745
  *         @arg @ref LL_EXTI_LINE_20
746
  *         @arg @ref LL_EXTI_LINE_21
747
  *         @arg @ref LL_EXTI_LINE_22
748
  *         @arg @ref LL_EXTI_LINE_29
749
  *         @arg @ref LL_EXTI_LINE_30
750
  *         @arg @ref LL_EXTI_LINE_31
751
  * @note   Please check each device line mapping for EXTI Line availability
752
  * @retval None
753
  */
754
__STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
755
{
756
  CLEAR_BIT(EXTI->FTSR, ExtiLine);
757
}
758
 
759
 
760
/**
761
  * @brief  Check if falling edge trigger is enabled for Lines in range 0 to 31
762
  * @rmtoll FTSR        FTx           LL_EXTI_IsEnabledFallingTrig_0_31
763
  * @param  ExtiLine This parameter can be a combination of the following values:
764
  *         @arg @ref LL_EXTI_LINE_0
765
  *         @arg @ref LL_EXTI_LINE_1
766
  *         @arg @ref LL_EXTI_LINE_2
767
  *         @arg @ref LL_EXTI_LINE_3
768
  *         @arg @ref LL_EXTI_LINE_4
769
  *         @arg @ref LL_EXTI_LINE_5
770
  *         @arg @ref LL_EXTI_LINE_6
771
  *         @arg @ref LL_EXTI_LINE_7
772
  *         @arg @ref LL_EXTI_LINE_8
773
  *         @arg @ref LL_EXTI_LINE_9
774
  *         @arg @ref LL_EXTI_LINE_10
775
  *         @arg @ref LL_EXTI_LINE_11
776
  *         @arg @ref LL_EXTI_LINE_12
777
  *         @arg @ref LL_EXTI_LINE_13
778
  *         @arg @ref LL_EXTI_LINE_14
779
  *         @arg @ref LL_EXTI_LINE_15
780
  *         @arg @ref LL_EXTI_LINE_16
781
  *         @arg @ref LL_EXTI_LINE_18
782
  *         @arg @ref LL_EXTI_LINE_19
783
  *         @arg @ref LL_EXTI_LINE_20
784
  *         @arg @ref LL_EXTI_LINE_21
785
  *         @arg @ref LL_EXTI_LINE_22
786
  *         @arg @ref LL_EXTI_LINE_29
787
  *         @arg @ref LL_EXTI_LINE_30
788
  *         @arg @ref LL_EXTI_LINE_31
789
  * @note   Please check each device line mapping for EXTI Line availability
790
  * @retval State of bit (1 or 0).
791
  */
792
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
793
{
794
  return (READ_BIT(EXTI->FTSR, ExtiLine) == (ExtiLine));
795
}
796
 
797
 
798
/**
799
  * @}
800
  */
801
 
802
/** @defgroup EXTI_LL_EF_Software_Interrupt_Management Software_Interrupt_Management
803
  * @{
804
  */
805
 
806
/**
807
  * @brief  Generate a software Interrupt Event for Lines in range 0 to 31
808
  * @note If the interrupt is enabled on this line in the EXTI_IMR, writing a 1 to
809
  *       this bit when it is at '0' sets the corresponding pending bit in EXTI_PR
810
  *       resulting in an interrupt request generation.
811
  *       This bit is cleared by clearing the corresponding bit in the EXTI_PR
812
  *       register (by writing a 1 into the bit)
813
  * @rmtoll SWIER       SWIx          LL_EXTI_GenerateSWI_0_31
814
  * @param  ExtiLine This parameter can be a combination of the following values:
815
  *         @arg @ref LL_EXTI_LINE_0
816
  *         @arg @ref LL_EXTI_LINE_1
817
  *         @arg @ref LL_EXTI_LINE_2
818
  *         @arg @ref LL_EXTI_LINE_3
819
  *         @arg @ref LL_EXTI_LINE_4
820
  *         @arg @ref LL_EXTI_LINE_5
821
  *         @arg @ref LL_EXTI_LINE_6
822
  *         @arg @ref LL_EXTI_LINE_7
823
  *         @arg @ref LL_EXTI_LINE_8
824
  *         @arg @ref LL_EXTI_LINE_9
825
  *         @arg @ref LL_EXTI_LINE_10
826
  *         @arg @ref LL_EXTI_LINE_11
827
  *         @arg @ref LL_EXTI_LINE_12
828
  *         @arg @ref LL_EXTI_LINE_13
829
  *         @arg @ref LL_EXTI_LINE_14
830
  *         @arg @ref LL_EXTI_LINE_15
831
  *         @arg @ref LL_EXTI_LINE_16
832
  *         @arg @ref LL_EXTI_LINE_18
833
  *         @arg @ref LL_EXTI_LINE_19
834
  *         @arg @ref LL_EXTI_LINE_20
835
  *         @arg @ref LL_EXTI_LINE_21
836
  *         @arg @ref LL_EXTI_LINE_22
837
  *         @arg @ref LL_EXTI_LINE_29
838
  *         @arg @ref LL_EXTI_LINE_30
839
  *         @arg @ref LL_EXTI_LINE_31
840
  * @note   Please check each device line mapping for EXTI Line availability
841
  * @retval None
842
  */
843
__STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
844
{
845
  SET_BIT(EXTI->SWIER, ExtiLine);
846
}
847
 
848
 
849
/**
850
  * @}
851
  */
852
 
853
/** @defgroup EXTI_LL_EF_Flag_Management Flag_Management
854
  * @{
855
  */
856
 
857
/**
858
  * @brief  Check if the ExtLine Flag is set or not for Lines in range 0 to 31
859
  * @note This bit is set when the selected edge event arrives on the interrupt
860
  *       line. This bit is cleared by writing a 1 to the bit.
861
  * @rmtoll PR          PIFx           LL_EXTI_IsActiveFlag_0_31
862
  * @param  ExtiLine This parameter can be a combination of the following values:
863
  *         @arg @ref LL_EXTI_LINE_0
864
  *         @arg @ref LL_EXTI_LINE_1
865
  *         @arg @ref LL_EXTI_LINE_2
866
  *         @arg @ref LL_EXTI_LINE_3
867
  *         @arg @ref LL_EXTI_LINE_4
868
  *         @arg @ref LL_EXTI_LINE_5
869
  *         @arg @ref LL_EXTI_LINE_6
870
  *         @arg @ref LL_EXTI_LINE_7
871
  *         @arg @ref LL_EXTI_LINE_8
872
  *         @arg @ref LL_EXTI_LINE_9
873
  *         @arg @ref LL_EXTI_LINE_10
874
  *         @arg @ref LL_EXTI_LINE_11
875
  *         @arg @ref LL_EXTI_LINE_12
876
  *         @arg @ref LL_EXTI_LINE_13
877
  *         @arg @ref LL_EXTI_LINE_14
878
  *         @arg @ref LL_EXTI_LINE_15
879
  *         @arg @ref LL_EXTI_LINE_16
880
  *         @arg @ref LL_EXTI_LINE_18
881
  *         @arg @ref LL_EXTI_LINE_19
882
  *         @arg @ref LL_EXTI_LINE_20
883
  *         @arg @ref LL_EXTI_LINE_21
884
  *         @arg @ref LL_EXTI_LINE_22
885
  *         @arg @ref LL_EXTI_LINE_29
886
  *         @arg @ref LL_EXTI_LINE_30
887
  *         @arg @ref LL_EXTI_LINE_31
888
  * @note   Please check each device line mapping for EXTI Line availability
889
  * @retval State of bit (1 or 0).
890
  */
891
__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
892
{
893
  return (READ_BIT(EXTI->PR, ExtiLine) == (ExtiLine));
894
}
895
 
896
 
897
/**
898
  * @brief  Read ExtLine Combination Flag for Lines in range 0 to 31
899
  * @note This bit is set when the selected edge event arrives on the interrupt
900
  *       line. This bit is cleared by writing a 1 to the bit.
901
  * @rmtoll PR          PIFx           LL_EXTI_ReadFlag_0_31
902
  * @param  ExtiLine This parameter can be a combination of the following values:
903
  *         @arg @ref LL_EXTI_LINE_0
904
  *         @arg @ref LL_EXTI_LINE_1
905
  *         @arg @ref LL_EXTI_LINE_2
906
  *         @arg @ref LL_EXTI_LINE_3
907
  *         @arg @ref LL_EXTI_LINE_4
908
  *         @arg @ref LL_EXTI_LINE_5
909
  *         @arg @ref LL_EXTI_LINE_6
910
  *         @arg @ref LL_EXTI_LINE_7
911
  *         @arg @ref LL_EXTI_LINE_8
912
  *         @arg @ref LL_EXTI_LINE_9
913
  *         @arg @ref LL_EXTI_LINE_10
914
  *         @arg @ref LL_EXTI_LINE_11
915
  *         @arg @ref LL_EXTI_LINE_12
916
  *         @arg @ref LL_EXTI_LINE_13
917
  *         @arg @ref LL_EXTI_LINE_14
918
  *         @arg @ref LL_EXTI_LINE_15
919
  *         @arg @ref LL_EXTI_LINE_16
920
  *         @arg @ref LL_EXTI_LINE_18
921
  *         @arg @ref LL_EXTI_LINE_19
922
  *         @arg @ref LL_EXTI_LINE_20
923
  *         @arg @ref LL_EXTI_LINE_21
924
  *         @arg @ref LL_EXTI_LINE_22
925
  *         @arg @ref LL_EXTI_LINE_29
926
  *         @arg @ref LL_EXTI_LINE_30
927
  *         @arg @ref LL_EXTI_LINE_31
928
  * @note   Please check each device line mapping for EXTI Line availability
929
  * @retval @note This bit is set when the selected edge event arrives on the interrupt
930
  */
931
__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
932
{
933
  return (uint32_t)(READ_BIT(EXTI->PR, ExtiLine));
934
}
935
 
936
 
937
/**
938
  * @brief  Clear ExtLine Flags  for Lines in range 0 to 31
939
  * @note This bit is set when the selected edge event arrives on the interrupt
940
  *       line. This bit is cleared by writing a 1 to the bit.
941
  * @rmtoll PR          PIFx           LL_EXTI_ClearFlag_0_31
942
  * @param  ExtiLine This parameter can be a combination of the following values:
943
  *         @arg @ref LL_EXTI_LINE_0
944
  *         @arg @ref LL_EXTI_LINE_1
945
  *         @arg @ref LL_EXTI_LINE_2
946
  *         @arg @ref LL_EXTI_LINE_3
947
  *         @arg @ref LL_EXTI_LINE_4
948
  *         @arg @ref LL_EXTI_LINE_5
949
  *         @arg @ref LL_EXTI_LINE_6
950
  *         @arg @ref LL_EXTI_LINE_7
951
  *         @arg @ref LL_EXTI_LINE_8
952
  *         @arg @ref LL_EXTI_LINE_9
953
  *         @arg @ref LL_EXTI_LINE_10
954
  *         @arg @ref LL_EXTI_LINE_11
955
  *         @arg @ref LL_EXTI_LINE_12
956
  *         @arg @ref LL_EXTI_LINE_13
957
  *         @arg @ref LL_EXTI_LINE_14
958
  *         @arg @ref LL_EXTI_LINE_15
959
  *         @arg @ref LL_EXTI_LINE_16
960
  *         @arg @ref LL_EXTI_LINE_18
961
  *         @arg @ref LL_EXTI_LINE_19
962
  *         @arg @ref LL_EXTI_LINE_20
963
  *         @arg @ref LL_EXTI_LINE_21
964
  *         @arg @ref LL_EXTI_LINE_22
965
  *         @arg @ref LL_EXTI_LINE_29
966
  *         @arg @ref LL_EXTI_LINE_30
967
  *         @arg @ref LL_EXTI_LINE_31
968
  * @note   Please check each device line mapping for EXTI Line availability
969
  * @retval None
970
  */
971
__STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
972
{
973
  WRITE_REG(EXTI->PR, ExtiLine);
974
}
975
 
976
 
977
/**
978
  * @}
979
  */
980
 
981
#if defined(USE_FULL_LL_DRIVER)
982
/** @defgroup EXTI_LL_EF_Init Initialization and de-initialization functions
983
  * @{
984
  */
985
 
986
uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct);
987
uint32_t LL_EXTI_DeInit(void);
988
void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct);
989
 
990
 
991
/**
992
  * @}
993
  */
994
#endif /* USE_FULL_LL_DRIVER */
995
 
996
/**
997
  * @}
998
  */
999
 
1000
/**
1001
  * @}
1002
  */
1003
 
1004
#endif /* EXTI */
1005
 
1006
/**
1007
  * @}
1008
  */
1009
 
1010
#ifdef __cplusplus
1011
}
1012
#endif
1013
 
1014
#endif /* STM32L1xx_LL_EXTI_H */
1015
 
1016
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/