Subversion Repositories DashDisplay

Rev

Rev 56 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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