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>© 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****/ |
- |