STM32H735xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32h7xx_ll_exti.h 00004 * @author MCD Application Team 00005 * @brief Header file of EXTI LL module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * Copyright (c) 2017 STMicroelectronics. 00010 * All rights reserved. 00011 * 00012 * This software is licensed under terms that can be found in the LICENSE file 00013 * in the root directory of this software component. 00014 * If no LICENSE file comes with this software, it is provided AS-IS. 00015 * 00016 ****************************************************************************** 00017 */ 00018 00019 /* Define to prevent recursive inclusion -------------------------------------*/ 00020 #ifndef __STM32H7xx_LL_EXTI_H 00021 #define __STM32H7xx_LL_EXTI_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /* Includes ------------------------------------------------------------------*/ 00028 #include "stm32h7xx.h" 00029 00030 /** @addtogroup STM32H7xx_LL_Driver 00031 * @{ 00032 */ 00033 00034 #if defined (EXTI) 00035 00036 /** @defgroup EXTI_LL EXTI 00037 * @{ 00038 */ 00039 00040 /* Private types -------------------------------------------------------------*/ 00041 /* Private variables ---------------------------------------------------------*/ 00042 /* Private constants ---------------------------------------------------------*/ 00043 /* Private Macros ------------------------------------------------------------*/ 00044 #if defined(USE_FULL_LL_DRIVER) 00045 /** @defgroup EXTI_LL_Private_Macros EXTI Private Macros 00046 * @{ 00047 */ 00048 /** 00049 * @} 00050 */ 00051 #endif /*USE_FULL_LL_DRIVER*/ 00052 /* Exported types ------------------------------------------------------------*/ 00053 #if defined(USE_FULL_LL_DRIVER) 00054 /** @defgroup EXTI_LL_ES_INIT EXTI Exported Init structure 00055 * @{ 00056 */ 00057 typedef struct 00058 { 00059 00060 uint32_t Line_0_31; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 0 to 31 00061 This parameter can be any combination of @ref EXTI_LL_EC_LINE */ 00062 00063 uint32_t Line_32_63; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 32 to 63 00064 This parameter can be any combination of @ref EXTI_LL_EC_LINE */ 00065 00066 uint32_t Line_64_95; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 64 to 95 00067 This parameter can be any combination of @ref EXTI_LL_EC_LINE */ 00068 00069 FunctionalState LineCommand; /*!< Specifies the new state of the selected EXTI lines. 00070 This parameter can be set either to ENABLE or DISABLE */ 00071 00072 uint8_t Mode; /*!< Specifies the mode for the EXTI lines. 00073 This parameter can be a value of @ref EXTI_LL_EC_MODE. */ 00074 00075 uint8_t Trigger; /*!< Specifies the trigger signal active edge for the EXTI lines. 00076 This parameter can be a value of @ref EXTI_LL_EC_TRIGGER. */ 00077 } LL_EXTI_InitTypeDef; 00078 00079 /** 00080 * @} 00081 */ 00082 #endif /*USE_FULL_LL_DRIVER*/ 00083 00084 /* Exported constants --------------------------------------------------------*/ 00085 /** @defgroup EXTI_LL_Exported_Constants EXTI Exported Constants 00086 * @{ 00087 */ 00088 00089 /** @defgroup EXTI_LL_EC_LINE LINE 00090 * @{ 00091 */ 00092 #define LL_EXTI_LINE_0 EXTI_IMR1_IM0 /*!< Extended line 0 */ 00093 #define LL_EXTI_LINE_1 EXTI_IMR1_IM1 /*!< Extended line 1 */ 00094 #define LL_EXTI_LINE_2 EXTI_IMR1_IM2 /*!< Extended line 2 */ 00095 #define LL_EXTI_LINE_3 EXTI_IMR1_IM3 /*!< Extended line 3 */ 00096 #define LL_EXTI_LINE_4 EXTI_IMR1_IM4 /*!< Extended line 4 */ 00097 #define LL_EXTI_LINE_5 EXTI_IMR1_IM5 /*!< Extended line 5 */ 00098 #define LL_EXTI_LINE_6 EXTI_IMR1_IM6 /*!< Extended line 6 */ 00099 #define LL_EXTI_LINE_7 EXTI_IMR1_IM7 /*!< Extended line 7 */ 00100 #define LL_EXTI_LINE_8 EXTI_IMR1_IM8 /*!< Extended line 8 */ 00101 #define LL_EXTI_LINE_9 EXTI_IMR1_IM9 /*!< Extended line 9 */ 00102 #define LL_EXTI_LINE_10 EXTI_IMR1_IM10 /*!< Extended line 10 */ 00103 #define LL_EXTI_LINE_11 EXTI_IMR1_IM11 /*!< Extended line 11 */ 00104 #define LL_EXTI_LINE_12 EXTI_IMR1_IM12 /*!< Extended line 12 */ 00105 #define LL_EXTI_LINE_13 EXTI_IMR1_IM13 /*!< Extended line 13 */ 00106 #define LL_EXTI_LINE_14 EXTI_IMR1_IM14 /*!< Extended line 14 */ 00107 #define LL_EXTI_LINE_15 EXTI_IMR1_IM15 /*!< Extended line 15 */ 00108 #define LL_EXTI_LINE_16 EXTI_IMR1_IM16 /*!< Extended line 16 */ 00109 #define LL_EXTI_LINE_17 EXTI_IMR1_IM17 /*!< Extended line 17 */ 00110 #define LL_EXTI_LINE_18 EXTI_IMR1_IM18 /*!< Extended line 18 */ 00111 #define LL_EXTI_LINE_19 EXTI_IMR1_IM19 /*!< Extended line 19 */ 00112 #define LL_EXTI_LINE_20 EXTI_IMR1_IM20 /*!< Extended line 20 */ 00113 #define LL_EXTI_LINE_21 EXTI_IMR1_IM21 /*!< Extended line 21 */ 00114 #define LL_EXTI_LINE_22 EXTI_IMR1_IM22 /*!< Extended line 22 */ 00115 #define LL_EXTI_LINE_23 EXTI_IMR1_IM23 /*!< Extended line 23 */ 00116 #define LL_EXTI_LINE_24 EXTI_IMR1_IM24 /*!< Extended line 24 */ 00117 #define LL_EXTI_LINE_25 EXTI_IMR1_IM25 /*!< Extended line 25 */ 00118 #define LL_EXTI_LINE_26 EXTI_IMR1_IM26 /*!< Extended line 26 */ 00119 #define LL_EXTI_LINE_27 EXTI_IMR1_IM27 /*!< Extended line 27 */ 00120 #define LL_EXTI_LINE_28 EXTI_IMR1_IM28 /*!< Extended line 28 */ 00121 #define LL_EXTI_LINE_29 EXTI_IMR1_IM29 /*!< Extended line 29 */ 00122 #define LL_EXTI_LINE_30 EXTI_IMR1_IM30 /*!< Extended line 30 */ 00123 #define LL_EXTI_LINE_31 EXTI_IMR1_IM31 /*!< Extended line 31 */ 00124 #define LL_EXTI_LINE_ALL_0_31 EXTI_IMR1_IM /*!< All Extended line not reserved*/ 00125 00126 #define LL_EXTI_LINE_32 EXTI_IMR2_IM32 /*!< Extended line 32 */ 00127 #define LL_EXTI_LINE_33 EXTI_IMR2_IM33 /*!< Extended line 33 */ 00128 #define LL_EXTI_LINE_34 EXTI_IMR2_IM34 /*!< Extended line 34 */ 00129 #define LL_EXTI_LINE_35 EXTI_IMR2_IM35 /*!< Extended line 35 */ 00130 #define LL_EXTI_LINE_36 EXTI_IMR2_IM36 /*!< Extended line 36 */ 00131 #define LL_EXTI_LINE_37 EXTI_IMR2_IM37 /*!< Extended line 37 */ 00132 #define LL_EXTI_LINE_38 EXTI_IMR2_IM38 /*!< Extended line 38 */ 00133 #define LL_EXTI_LINE_39 EXTI_IMR2_IM39 /*!< Extended line 39 */ 00134 #define LL_EXTI_LINE_40 EXTI_IMR2_IM40 /*!< Extended line 40 */ 00135 #define LL_EXTI_LINE_41 EXTI_IMR2_IM41 /*!< Extended line 41 */ 00136 #define LL_EXTI_LINE_42 EXTI_IMR2_IM42 /*!< Extended line 42 */ 00137 #define LL_EXTI_LINE_43 EXTI_IMR2_IM43 /*!< Extended line 43 */ 00138 #if defined(USB2_OTG_FS) 00139 #define LL_EXTI_LINE_44 EXTI_IMR2_IM44 /*!< Extended line 44 */ 00140 #endif /* USB2_OTG_FS */ 00141 #if defined(DSI) 00142 #define LL_EXTI_LINE_46 EXTI_IMR2_IM46 /*!< Extended line 46 */ 00143 #endif /* DSI */ 00144 #define LL_EXTI_LINE_47 EXTI_IMR2_IM47 /*!< Extended line 47 */ 00145 #define LL_EXTI_LINE_48 EXTI_IMR2_IM48 /*!< Extended line 48 */ 00146 #define LL_EXTI_LINE_49 EXTI_IMR2_IM49 /*!< Extended line 49 */ 00147 #define LL_EXTI_LINE_50 EXTI_IMR2_IM50 /*!< Extended line 50 */ 00148 #define LL_EXTI_LINE_51 EXTI_IMR2_IM51 /*!< Extended line 51 */ 00149 #define LL_EXTI_LINE_52 EXTI_IMR2_IM52 /*!< Extended line 52 */ 00150 #define LL_EXTI_LINE_53 EXTI_IMR2_IM53 /*!< Extended line 53 */ 00151 #define LL_EXTI_LINE_54 EXTI_IMR2_IM54 /*!< Extended line 54 */ 00152 #define LL_EXTI_LINE_55 EXTI_IMR2_IM55 /*!< Extended line 55 */ 00153 #define LL_EXTI_LINE_56 EXTI_IMR2_IM56 /*!< Extended line 56 */ 00154 #if defined(EXTI_IMR2_IM57) 00155 #define LL_EXTI_LINE_57 EXTI_IMR2_IM57 /*!< Extended line 57 */ 00156 #endif /*EXTI_IMR2_IM57*/ 00157 #define LL_EXTI_LINE_58 EXTI_IMR2_IM58 /*!< Extended line 58 */ 00158 #if defined(EXTI_IMR2_IM59) 00159 #define LL_EXTI_LINE_59 EXTI_IMR2_IM59 /*!< Extended line 59 */ 00160 #endif /*EXTI_IMR2_IM59*/ 00161 #define LL_EXTI_LINE_60 EXTI_IMR2_IM60 /*!< Extended line 60 */ 00162 #define LL_EXTI_LINE_61 EXTI_IMR2_IM61 /*!< Extended line 61 */ 00163 #define LL_EXTI_LINE_62 EXTI_IMR2_IM62 /*!< Extended line 62 */ 00164 #define LL_EXTI_LINE_63 EXTI_IMR2_IM63 /*!< Extended line 63 */ 00165 #define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM /*!< All Extended line not reserved*/ 00166 00167 #define LL_EXTI_LINE_64 EXTI_IMR3_IM64 /*!< Extended line 64 */ 00168 #define LL_EXTI_LINE_65 EXTI_IMR3_IM65 /*!< Extended line 65 */ 00169 #define LL_EXTI_LINE_66 EXTI_IMR3_IM66 /*!< Extended line 66 */ 00170 #define LL_EXTI_LINE_67 EXTI_IMR3_IM67 /*!< Extended line 67 */ 00171 #define LL_EXTI_LINE_68 EXTI_IMR3_IM68 /*!< Extended line 68 */ 00172 #define LL_EXTI_LINE_69 EXTI_IMR3_IM69 /*!< Extended line 69 */ 00173 #define LL_EXTI_LINE_70 EXTI_IMR3_IM70 /*!< Extended line 70 */ 00174 #define LL_EXTI_LINE_71 EXTI_IMR3_IM71 /*!< Extended line 71 */ 00175 #define LL_EXTI_LINE_72 EXTI_IMR3_IM72 /*!< Extended line 72 */ 00176 #define LL_EXTI_LINE_73 EXTI_IMR3_IM73 /*!< Extended line 73 */ 00177 #define LL_EXTI_LINE_74 EXTI_IMR3_IM74 /*!< Extended line 74 */ 00178 #if defined(ADC3) 00179 #define LL_EXTI_LINE_75 EXTI_IMR3_IM75 /*!< Extended line 75 */ 00180 #endif /* ADC3 */ 00181 #if defined(SAI4) 00182 #define LL_EXTI_LINE_76 EXTI_IMR3_IM76 /*!< Extended line 76 */ 00183 #endif /* SAI4 */ 00184 #if defined(DUAL_CORE) 00185 #define LL_EXTI_LINE_77 EXTI_IMR3_IM77 /*!< Extended line 77 */ 00186 #define LL_EXTI_LINE_78 EXTI_IMR3_IM78 /*!< Extended line 78 */ 00187 #define LL_EXTI_LINE_79 EXTI_IMR3_IM79 /*!< Extended line 79 */ 00188 #define LL_EXTI_LINE_80 EXTI_IMR3_IM80 /*!< Extended line 80 */ 00189 #define LL_EXTI_LINE_82 EXTI_IMR3_IM82 /*!< Extended line 82 */ 00190 #define LL_EXTI_LINE_84 EXTI_IMR3_IM84 /*!< Extended line 84 */ 00191 #endif /* DUAL_CORE */ 00192 #define LL_EXTI_LINE_85 EXTI_IMR3_IM85 /*!< Extended line 85 */ 00193 #if defined(ETH) 00194 #define LL_EXTI_LINE_86 EXTI_IMR3_IM86 /*!< Extended line 86 */ 00195 #endif /* ETH */ 00196 #define LL_EXTI_LINE_87 EXTI_IMR3_IM87 /*!< Extended line 87 */ 00197 #if defined(DTS) 00198 #define LL_EXTI_LINE_88 EXTI_IMR3_IM88 /*!< Extended line 88 */ 00199 #endif /* DTS */ 00200 #if defined(EXTI_IMR3_IM89) 00201 #define LL_EXTI_LINE_89 EXTI_IMR3_IM89 /*!< Extended line 89 */ 00202 #endif /* EXTI_IMR3_IM89 */ 00203 #if defined(EXTI_IMR3_IM90) 00204 #define LL_EXTI_LINE_90 EXTI_IMR3_IM90 /*!< Extended line 90 */ 00205 #endif /* EXTI_IMR3_IM90 */ 00206 #if defined(I2C5) 00207 #define LL_EXTI_LINE_91 EXTI_IMR3_IM91 /*!< Extended line 91 */ 00208 #endif /* I2C5 */ 00209 #define LL_EXTI_LINE_ALL_64_95 EXTI_IMR3_IM /*!< All Extended line not reserved*/ 00210 00211 00212 #define LL_EXTI_LINE_ALL (0xFFFFFFFFU) /*!< All Extended line */ 00213 00214 #if defined(USE_FULL_LL_DRIVER) 00215 #define LL_EXTI_LINE_NONE (0x00000000U) /*!< None Extended line */ 00216 #endif /*USE_FULL_LL_DRIVER*/ 00217 00218 /** 00219 * @} 00220 */ 00221 #if defined(USE_FULL_LL_DRIVER) 00222 00223 /** @defgroup EXTI_LL_EC_MODE Mode 00224 * @{ 00225 */ 00226 #define LL_EXTI_MODE_IT ((uint8_t)0x01U) /*!< Cortex-M7 Interrupt Mode */ 00227 #define LL_EXTI_MODE_EVENT ((uint8_t)0x02U) /*!< Cortex-M7 Event Mode */ 00228 #define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x03U) /*!< Cortex-M7 Interrupt & Event Mode */ 00229 00230 #if defined(DUAL_CORE) 00231 #define LL_EXTI_MODE_C1_IT LL_EXTI_MODE_IT /*!< Cortex-M7 Interrupt Mode */ 00232 #define LL_EXTI_MODE_C1_EVENT LL_EXTI_MODE_EVENT /*!< Cortex-M7 Event Mode */ 00233 #define LL_EXTI_MODE_C1_IT_EVENT LL_EXTI_MODE_IT_EVENT /*!< Cortex-M7 Interrupt & Event Mode */ 00234 00235 #define LL_EXTI_MODE_C2_IT ((uint8_t)0x10U) /*!< Cortex-M4 Interrupt Mode */ 00236 #define LL_EXTI_MODE_C2_EVENT ((uint8_t)0x20U) /*!< Cortex-M4 Event Mode */ 00237 #define LL_EXTI_MODE_C2_IT_EVENT ((uint8_t)0x30U) /*!< Cortex-M4 Interrupt & Event Mode */ 00238 #endif /* DUAL_CORE */ 00239 00240 /** 00241 * @} 00242 */ 00243 00244 /** @defgroup EXTI_LL_EC_TRIGGER Edge Trigger 00245 * @{ 00246 */ 00247 #define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U) /*!< No Trigger Mode */ 00248 #define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U) /*!< Trigger Rising Mode */ 00249 #define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U) /*!< Trigger Falling Mode */ 00250 #define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U) /*!< Trigger Rising & Falling Mode */ 00251 00252 /** 00253 * @} 00254 */ 00255 00256 /** @defgroup EXTI_LL_D3_PEND_CLR D3 Pend Clear Source 00257 * @{ 00258 */ 00259 #define LL_EXTI_D3_PEND_CLR_DMACH6 ((uint8_t)0x00U) /*!< DMA ch6 event selected as D3 domain pendclear source */ 00260 #define LL_EXTI_D3_PEND_CLR_DMACH7 ((uint8_t)0x01U) /*!< DMA ch7 event selected as D3 domain pendclear source */ 00261 #if defined (LPTIM4) 00262 #define LL_EXTI_D3_PEND_CLR_LPTIM4 ((uint8_t)0x02U) /*!< LPTIM4 out selected as D3 domain pendclear source */ 00263 #else 00264 #define LL_EXTI_D3_PEND_CLR_LPTIM2 ((uint8_t)0x02U) /*!< LPTIM2 out selected as D3 domain pendclear source */ 00265 #endif /*LPTIM4*/ 00266 #if defined (LPTIM5) 00267 #define LL_EXTI_D3_PEND_CLR_LPTIM5 ((uint8_t)0x03U) /*!< LPTIM5 out selected as D3 domain pendclear source */ 00268 #else 00269 #define LL_EXTI_D3_PEND_CLR_LPTIM3 ((uint8_t)0x02U) /*!< LPTIM3 out selected as D3 domain pendclear source */ 00270 #endif /*LPTIM5*/ 00271 /** 00272 * @} 00273 */ 00274 00275 00276 #endif /*USE_FULL_LL_DRIVER*/ 00277 00278 00279 /** 00280 * @} 00281 */ 00282 00283 /* Exported macro ------------------------------------------------------------*/ 00284 /** @defgroup EXTI_LL_Exported_Macros EXTI Exported Macros 00285 * @{ 00286 */ 00287 00288 /** @defgroup EXTI_LL_EM_WRITE_READ Common Write and read registers Macros 00289 * @{ 00290 */ 00291 00292 /** 00293 * @brief Write a value in EXTI register 00294 * @param __REG__ Register to be written 00295 * @param __VALUE__ Value to be written in the register 00296 * @retval None 00297 */ 00298 #define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__)) 00299 00300 /** 00301 * @brief Read a value in EXTI register 00302 * @param __REG__ Register to be read 00303 * @retval Register value 00304 */ 00305 #define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__) 00306 00307 /** 00308 * @} 00309 */ 00310 00311 00312 /** 00313 * @} 00314 */ 00315 00316 00317 00318 /* Exported functions --------------------------------------------------------*/ 00319 /** @defgroup EXTI_LL_Exported_Functions EXTI Exported Functions 00320 * @{ 00321 */ 00322 /** @defgroup EXTI_LL_EF_IT_Management IT_Management 00323 * @{ 00324 */ 00325 00326 /** 00327 * @brief Enable ExtiLine Interrupt request for Lines in range 0 to 31 00328 * @rmtoll IMR1 IMx LL_EXTI_EnableIT_0_31 00329 * @param ExtiLine This parameter can be one of the following values: 00330 * @arg @ref LL_EXTI_LINE_0 00331 * @arg @ref LL_EXTI_LINE_1 00332 * @arg @ref LL_EXTI_LINE_2 00333 * @arg @ref LL_EXTI_LINE_3 00334 * @arg @ref LL_EXTI_LINE_4 00335 * @arg @ref LL_EXTI_LINE_5 00336 * @arg @ref LL_EXTI_LINE_6 00337 * @arg @ref LL_EXTI_LINE_7 00338 * @arg @ref LL_EXTI_LINE_8 00339 * @arg @ref LL_EXTI_LINE_9 00340 * @arg @ref LL_EXTI_LINE_10 00341 * @arg @ref LL_EXTI_LINE_11 00342 * @arg @ref LL_EXTI_LINE_12 00343 * @arg @ref LL_EXTI_LINE_13 00344 * @arg @ref LL_EXTI_LINE_14 00345 * @arg @ref LL_EXTI_LINE_15 00346 * @arg @ref LL_EXTI_LINE_16 00347 * @arg @ref LL_EXTI_LINE_17 00348 * @arg @ref LL_EXTI_LINE_18 00349 * @arg @ref LL_EXTI_LINE_19 00350 * @arg @ref LL_EXTI_LINE_20 00351 * @arg @ref LL_EXTI_LINE_21 00352 * @arg @ref LL_EXTI_LINE_22 00353 * @arg @ref LL_EXTI_LINE_23 00354 * @arg @ref LL_EXTI_LINE_24 00355 * @arg @ref LL_EXTI_LINE_25 00356 * @arg @ref LL_EXTI_LINE_26 00357 * @arg @ref LL_EXTI_LINE_27 00358 * @arg @ref LL_EXTI_LINE_28 00359 * @arg @ref LL_EXTI_LINE_29 00360 * @arg @ref LL_EXTI_LINE_30 00361 * @arg @ref LL_EXTI_LINE_31 00362 * @arg @ref LL_EXTI_LINE_ALL_0_31 00363 * @retval None 00364 */ 00365 __STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine) 00366 { 00367 SET_BIT(EXTI->IMR1, ExtiLine); 00368 } 00369 00370 /** 00371 * @brief Enable ExtiLine Interrupt request for Lines in range 32 to 63 00372 * @rmtoll IMR2 IMx LL_EXTI_EnableIT_32_63 00373 * @param ExtiLine This parameter can be one of the following values: 00374 * @arg @ref LL_EXTI_LINE_32 00375 * @arg @ref LL_EXTI_LINE_33 00376 * @arg @ref LL_EXTI_LINE_34 00377 * @arg @ref LL_EXTI_LINE_35 00378 * @arg @ref LL_EXTI_LINE_36 00379 * @arg @ref LL_EXTI_LINE_37 00380 * @arg @ref LL_EXTI_LINE_38 00381 * @arg @ref LL_EXTI_LINE_39 00382 * @arg @ref LL_EXTI_LINE_40 00383 * @arg @ref LL_EXTI_LINE_41 00384 * @arg @ref LL_EXTI_LINE_42 00385 * @arg @ref LL_EXTI_LINE_43 00386 * @arg @ref LL_EXTI_LINE_44 (*) 00387 * @arg @ref LL_EXTI_LINE_46 (*) 00388 * @arg @ref LL_EXTI_LINE_47 00389 * @arg @ref LL_EXTI_LINE_48 00390 * @arg @ref LL_EXTI_LINE_49 00391 * @arg @ref LL_EXTI_LINE_50 00392 * @arg @ref LL_EXTI_LINE_51 00393 * @arg @ref LL_EXTI_LINE_52 00394 * @arg @ref LL_EXTI_LINE_53 00395 * @arg @ref LL_EXTI_LINE_54 00396 * @arg @ref LL_EXTI_LINE_55 00397 * @arg @ref LL_EXTI_LINE_56 00398 * @arg @ref LL_EXTI_LINE_57 (*) 00399 * @arg @ref LL_EXTI_LINE_58 00400 * @arg @ref LL_EXTI_LINE_59 (*) 00401 * @arg @ref LL_EXTI_LINE_60 00402 * @arg @ref LL_EXTI_LINE_61 00403 * @arg @ref LL_EXTI_LINE_62 00404 * @arg @ref LL_EXTI_LINE_63 00405 * @arg @ref LL_EXTI_LINE_ALL_32_63 00406 * 00407 * (*) value not defined in all devices. 00408 * @retval None 00409 */ 00410 __STATIC_INLINE void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine) 00411 { 00412 SET_BIT(EXTI->IMR2, ExtiLine); 00413 } 00414 00415 00416 /** 00417 * @brief Enable ExtiLine Interrupt request for Lines in range 64 to 95 00418 * @rmtoll IMR3 IMx LL_EXTI_EnableIT_64_95 00419 * @param ExtiLine This parameter can be one of the following values: 00420 * @arg @ref LL_EXTI_LINE_64 00421 * @arg @ref LL_EXTI_LINE_65 00422 * @arg @ref LL_EXTI_LINE_66 00423 * @arg @ref LL_EXTI_LINE_67 00424 * @arg @ref LL_EXTI_LINE_68 00425 * @arg @ref LL_EXTI_LINE_69 00426 * @arg @ref LL_EXTI_LINE_70 00427 * @arg @ref LL_EXTI_LINE_71 00428 * @arg @ref LL_EXTI_LINE_72 00429 * @arg @ref LL_EXTI_LINE_73 00430 * @arg @ref LL_EXTI_LINE_74 00431 * @arg @ref LL_EXTI_LINE_75 (*) 00432 * @arg @ref LL_EXTI_LINE_76 (*) 00433 * @arg @ref LL_EXTI_LINE_77 (**) 00434 * @arg @ref LL_EXTI_LINE_78 (**) 00435 * @arg @ref LL_EXTI_LINE_79 (**) 00436 * @arg @ref LL_EXTI_LINE_80 (**) 00437 * @arg @ref LL_EXTI_LINE_82 (**) 00438 * @arg @ref LL_EXTI_LINE_84 (**) 00439 * @arg @ref LL_EXTI_LINE_85 00440 * @arg @ref LL_EXTI_LINE_86 (*) 00441 * @arg @ref LL_EXTI_LINE_87 00442 * @arg @ref LL_EXTI_LINE_88 (*) 00443 * @arg @ref LL_EXTI_LINE_89 (*) 00444 * @arg @ref LL_EXTI_LINE_90 (*) 00445 * @arg @ref LL_EXTI_LINE_91 (*) 00446 * @arg @ref LL_EXTI_LINE_ALL_64_95 00447 * 00448 * (*) value not defined in all devices. 00449 * (**) value only defined in dual core devices. 00450 * @retval None 00451 */ 00452 __STATIC_INLINE void LL_EXTI_EnableIT_64_95(uint32_t ExtiLine) 00453 { 00454 SET_BIT(EXTI->IMR3, ExtiLine); 00455 } 00456 00457 00458 /** 00459 * @brief Disable ExtiLine Interrupt request for Lines in range 0 to 31 00460 * @rmtoll IMR1 IMx LL_EXTI_DisableIT_0_31 00461 * @param ExtiLine This parameter can be one of the following values: 00462 * @arg @ref LL_EXTI_LINE_0 00463 * @arg @ref LL_EXTI_LINE_1 00464 * @arg @ref LL_EXTI_LINE_2 00465 * @arg @ref LL_EXTI_LINE_3 00466 * @arg @ref LL_EXTI_LINE_4 00467 * @arg @ref LL_EXTI_LINE_5 00468 * @arg @ref LL_EXTI_LINE_6 00469 * @arg @ref LL_EXTI_LINE_7 00470 * @arg @ref LL_EXTI_LINE_8 00471 * @arg @ref LL_EXTI_LINE_9 00472 * @arg @ref LL_EXTI_LINE_10 00473 * @arg @ref LL_EXTI_LINE_11 00474 * @arg @ref LL_EXTI_LINE_12 00475 * @arg @ref LL_EXTI_LINE_13 00476 * @arg @ref LL_EXTI_LINE_14 00477 * @arg @ref LL_EXTI_LINE_15 00478 * @arg @ref LL_EXTI_LINE_16 00479 * @arg @ref LL_EXTI_LINE_17 00480 * @arg @ref LL_EXTI_LINE_18 00481 * @arg @ref LL_EXTI_LINE_19 00482 * @arg @ref LL_EXTI_LINE_20 00483 * @arg @ref LL_EXTI_LINE_21 00484 * @arg @ref LL_EXTI_LINE_22 00485 * @arg @ref LL_EXTI_LINE_23 00486 * @arg @ref LL_EXTI_LINE_24 00487 * @arg @ref LL_EXTI_LINE_25 00488 * @arg @ref LL_EXTI_LINE_26 00489 * @arg @ref LL_EXTI_LINE_27 00490 * @arg @ref LL_EXTI_LINE_28 00491 * @arg @ref LL_EXTI_LINE_29 00492 * @arg @ref LL_EXTI_LINE_30 00493 * @arg @ref LL_EXTI_LINE_31 00494 * @arg @ref LL_EXTI_LINE_ALL_0_31 00495 * @retval None 00496 */ 00497 __STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine) 00498 { 00499 CLEAR_BIT(EXTI->IMR1, ExtiLine); 00500 } 00501 00502 00503 /** 00504 * @brief Disable ExtiLine Interrupt request for Lines in range 32 to 63 00505 * @rmtoll IMR2 IMx LL_EXTI_DisableIT_32_63 00506 * @param ExtiLine This parameter can be one of the following values: 00507 * @arg @ref LL_EXTI_LINE_32 00508 * @arg @ref LL_EXTI_LINE_33 00509 * @arg @ref LL_EXTI_LINE_34 00510 * @arg @ref LL_EXTI_LINE_35 00511 * @arg @ref LL_EXTI_LINE_36 00512 * @arg @ref LL_EXTI_LINE_37 00513 * @arg @ref LL_EXTI_LINE_38 00514 * @arg @ref LL_EXTI_LINE_39 00515 * @arg @ref LL_EXTI_LINE_40 00516 * @arg @ref LL_EXTI_LINE_41 00517 * @arg @ref LL_EXTI_LINE_42 00518 * @arg @ref LL_EXTI_LINE_43 00519 * @arg @ref LL_EXTI_LINE_44 (*) 00520 * @arg @ref LL_EXTI_LINE_46 (*) 00521 * @arg @ref LL_EXTI_LINE_47 00522 * @arg @ref LL_EXTI_LINE_48 00523 * @arg @ref LL_EXTI_LINE_49 00524 * @arg @ref LL_EXTI_LINE_50 00525 * @arg @ref LL_EXTI_LINE_51 00526 * @arg @ref LL_EXTI_LINE_52 00527 * @arg @ref LL_EXTI_LINE_53 00528 * @arg @ref LL_EXTI_LINE_54 00529 * @arg @ref LL_EXTI_LINE_55 00530 * @arg @ref LL_EXTI_LINE_56 00531 * @arg @ref LL_EXTI_LINE_57 (*) 00532 * @arg @ref LL_EXTI_LINE_58 00533 * @arg @ref LL_EXTI_LINE_59 (*) 00534 * @arg @ref LL_EXTI_LINE_60 00535 * @arg @ref LL_EXTI_LINE_61 00536 * @arg @ref LL_EXTI_LINE_62 00537 * @arg @ref LL_EXTI_LINE_63 00538 * @arg @ref LL_EXTI_LINE_ALL_32_63 00539 * 00540 * (*) value not defined in all devices. 00541 * @retval None 00542 */ 00543 __STATIC_INLINE void LL_EXTI_DisableIT_32_63(uint32_t ExtiLine) 00544 { 00545 CLEAR_BIT(EXTI->IMR2, ExtiLine); 00546 } 00547 00548 /** 00549 * @brief Disable ExtiLine Interrupt request for Lines in range 64 to 95 00550 * @rmtoll IMR3 IMx LL_EXTI_DisableIT_64_95 00551 * @param ExtiLine This parameter can be one of the following values: 00552 * @arg @ref LL_EXTI_LINE_64 00553 * @arg @ref LL_EXTI_LINE_65 00554 * @arg @ref LL_EXTI_LINE_66 00555 * @arg @ref LL_EXTI_LINE_67 00556 * @arg @ref LL_EXTI_LINE_68 00557 * @arg @ref LL_EXTI_LINE_69 00558 * @arg @ref LL_EXTI_LINE_70 00559 * @arg @ref LL_EXTI_LINE_71 00560 * @arg @ref LL_EXTI_LINE_72 00561 * @arg @ref LL_EXTI_LINE_73 00562 * @arg @ref LL_EXTI_LINE_74 00563 * @arg @ref LL_EXTI_LINE_75 (*) 00564 * @arg @ref LL_EXTI_LINE_76 (*) 00565 * @arg @ref LL_EXTI_LINE_77 (**) 00566 * @arg @ref LL_EXTI_LINE_78 (**) 00567 * @arg @ref LL_EXTI_LINE_79 (**) 00568 * @arg @ref LL_EXTI_LINE_80 (**) 00569 * @arg @ref LL_EXTI_LINE_82 (**) 00570 * @arg @ref LL_EXTI_LINE_84 (**) 00571 * @arg @ref LL_EXTI_LINE_85 00572 * @arg @ref LL_EXTI_LINE_86 (*) 00573 * @arg @ref LL_EXTI_LINE_87 00574 * @arg @ref LL_EXTI_LINE_88 (*) 00575 * @arg @ref LL_EXTI_LINE_89 (*) 00576 * @arg @ref LL_EXTI_LINE_90 (*) 00577 * @arg @ref LL_EXTI_LINE_91 (*) 00578 * @arg @ref LL_EXTI_LINE_ALL_64_95 00579 * 00580 * (*) value not defined in all devices. 00581 * (**) value only defined in dual core devices. 00582 * @retval None 00583 */ 00584 __STATIC_INLINE void LL_EXTI_DisableIT_64_95(uint32_t ExtiLine) 00585 { 00586 CLEAR_BIT(EXTI->IMR3, ExtiLine); 00587 } 00588 00589 00590 /** 00591 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31 00592 * @rmtoll IMR1 IMx LL_EXTI_IsEnabledIT_0_31 00593 * @param ExtiLine This parameter can be one of the following values: 00594 * @arg @ref LL_EXTI_LINE_0 00595 * @arg @ref LL_EXTI_LINE_1 00596 * @arg @ref LL_EXTI_LINE_2 00597 * @arg @ref LL_EXTI_LINE_3 00598 * @arg @ref LL_EXTI_LINE_4 00599 * @arg @ref LL_EXTI_LINE_5 00600 * @arg @ref LL_EXTI_LINE_6 00601 * @arg @ref LL_EXTI_LINE_7 00602 * @arg @ref LL_EXTI_LINE_8 00603 * @arg @ref LL_EXTI_LINE_9 00604 * @arg @ref LL_EXTI_LINE_10 00605 * @arg @ref LL_EXTI_LINE_11 00606 * @arg @ref LL_EXTI_LINE_12 00607 * @arg @ref LL_EXTI_LINE_13 00608 * @arg @ref LL_EXTI_LINE_14 00609 * @arg @ref LL_EXTI_LINE_15 00610 * @arg @ref LL_EXTI_LINE_16 00611 * @arg @ref LL_EXTI_LINE_17 00612 * @arg @ref LL_EXTI_LINE_18 00613 * @arg @ref LL_EXTI_LINE_19 00614 * @arg @ref LL_EXTI_LINE_20 00615 * @arg @ref LL_EXTI_LINE_21 00616 * @arg @ref LL_EXTI_LINE_22 00617 * @arg @ref LL_EXTI_LINE_23 00618 * @arg @ref LL_EXTI_LINE_24 00619 * @arg @ref LL_EXTI_LINE_25 00620 * @arg @ref LL_EXTI_LINE_26 00621 * @arg @ref LL_EXTI_LINE_27 00622 * @arg @ref LL_EXTI_LINE_28 00623 * @arg @ref LL_EXTI_LINE_29 00624 * @arg @ref LL_EXTI_LINE_30 00625 * @arg @ref LL_EXTI_LINE_31 00626 * @arg @ref LL_EXTI_LINE_ALL_0_31 00627 * @retval State of bit (1 or 0). 00628 */ 00629 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine) 00630 { 00631 return ((READ_BIT(EXTI->IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 00632 } 00633 00634 00635 /** 00636 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63 00637 * @rmtoll IMR2 IMx LL_EXTI_IsEnabledIT_32_63 00638 * @param ExtiLine This parameter can be one of the following values: 00639 * @arg @ref LL_EXTI_LINE_32 00640 * @arg @ref LL_EXTI_LINE_33 00641 * @arg @ref LL_EXTI_LINE_34 00642 * @arg @ref LL_EXTI_LINE_35 00643 * @arg @ref LL_EXTI_LINE_36 00644 * @arg @ref LL_EXTI_LINE_37 00645 * @arg @ref LL_EXTI_LINE_38 00646 * @arg @ref LL_EXTI_LINE_39 00647 * @arg @ref LL_EXTI_LINE_40 00648 * @arg @ref LL_EXTI_LINE_41 00649 * @arg @ref LL_EXTI_LINE_42 00650 * @arg @ref LL_EXTI_LINE_43 00651 * @arg @ref LL_EXTI_LINE_44 (*) 00652 * @arg @ref LL_EXTI_LINE_46 (*) 00653 * @arg @ref LL_EXTI_LINE_47 00654 * @arg @ref LL_EXTI_LINE_48 00655 * @arg @ref LL_EXTI_LINE_49 00656 * @arg @ref LL_EXTI_LINE_50 00657 * @arg @ref LL_EXTI_LINE_51 00658 * @arg @ref LL_EXTI_LINE_52 00659 * @arg @ref LL_EXTI_LINE_53 00660 * @arg @ref LL_EXTI_LINE_54 00661 * @arg @ref LL_EXTI_LINE_55 00662 * @arg @ref LL_EXTI_LINE_56 00663 * @arg @ref LL_EXTI_LINE_57 (*) 00664 * @arg @ref LL_EXTI_LINE_58 00665 * @arg @ref LL_EXTI_LINE_59 (*) 00666 * @arg @ref LL_EXTI_LINE_60 00667 * @arg @ref LL_EXTI_LINE_61 00668 * @arg @ref LL_EXTI_LINE_62 00669 * @arg @ref LL_EXTI_LINE_63 00670 * @arg @ref LL_EXTI_LINE_ALL_32_63 00671 * 00672 * (*) value not defined in all devices. 00673 * @retval State of bit (1 or 0). 00674 */ 00675 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine) 00676 { 00677 return ((READ_BIT(EXTI->IMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 00678 } 00679 00680 00681 /** 00682 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 64 to 95 00683 * @rmtoll IMR3 IMx LL_EXTI_IsEnabledIT_64_95 00684 * @param ExtiLine This parameter can be one of the following values: 00685 * @arg @ref LL_EXTI_LINE_64 00686 * @arg @ref LL_EXTI_LINE_65 00687 * @arg @ref LL_EXTI_LINE_66 00688 * @arg @ref LL_EXTI_LINE_67 00689 * @arg @ref LL_EXTI_LINE_68 00690 * @arg @ref LL_EXTI_LINE_69 00691 * @arg @ref LL_EXTI_LINE_70 00692 * @arg @ref LL_EXTI_LINE_71 00693 * @arg @ref LL_EXTI_LINE_72 00694 * @arg @ref LL_EXTI_LINE_73 00695 * @arg @ref LL_EXTI_LINE_74 00696 * @arg @ref LL_EXTI_LINE_75 (*) 00697 * @arg @ref LL_EXTI_LINE_76 (*) 00698 * @arg @ref LL_EXTI_LINE_77 (**) 00699 * @arg @ref LL_EXTI_LINE_78 (**) 00700 * @arg @ref LL_EXTI_LINE_79 (**) 00701 * @arg @ref LL_EXTI_LINE_80 (**) 00702 * @arg @ref LL_EXTI_LINE_82 (**) 00703 * @arg @ref LL_EXTI_LINE_84 (**) 00704 * @arg @ref LL_EXTI_LINE_85 00705 * @arg @ref LL_EXTI_LINE_86 (*) 00706 * @arg @ref LL_EXTI_LINE_87 00707 * @arg @ref LL_EXTI_LINE_88 (*) 00708 * @arg @ref LL_EXTI_LINE_89 (*) 00709 * @arg @ref LL_EXTI_LINE_90 (*) 00710 * @arg @ref LL_EXTI_LINE_91 (*) 00711 * @arg @ref LL_EXTI_LINE_ALL_64_95 00712 * 00713 * (*) value not defined in all devices. 00714 * (**) value only defined in dual core devices. 00715 * @retval State of bit (1 or 0). 00716 */ 00717 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine) 00718 { 00719 return ((READ_BIT(EXTI->IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 00720 } 00721 00722 #if defined(DUAL_CORE) 00723 /** 00724 * @brief Enable ExtiLine Interrupt request for Lines in range 0 to 31 for cpu2 00725 * @rmtoll C2IMR1 IMx LL_C2_EXTI_EnableIT_0_31 00726 * @param ExtiLine This parameter can be one of the following values: 00727 * @arg @ref LL_EXTI_LINE_0 00728 * @arg @ref LL_EXTI_LINE_1 00729 * @arg @ref LL_EXTI_LINE_2 00730 * @arg @ref LL_EXTI_LINE_3 00731 * @arg @ref LL_EXTI_LINE_4 00732 * @arg @ref LL_EXTI_LINE_5 00733 * @arg @ref LL_EXTI_LINE_6 00734 * @arg @ref LL_EXTI_LINE_7 00735 * @arg @ref LL_EXTI_LINE_8 00736 * @arg @ref LL_EXTI_LINE_9 00737 * @arg @ref LL_EXTI_LINE_10 00738 * @arg @ref LL_EXTI_LINE_11 00739 * @arg @ref LL_EXTI_LINE_12 00740 * @arg @ref LL_EXTI_LINE_13 00741 * @arg @ref LL_EXTI_LINE_14 00742 * @arg @ref LL_EXTI_LINE_15 00743 * @arg @ref LL_EXTI_LINE_16 00744 * @arg @ref LL_EXTI_LINE_17 00745 * @arg @ref LL_EXTI_LINE_18 00746 * @arg @ref LL_EXTI_LINE_19 00747 * @arg @ref LL_EXTI_LINE_20 00748 * @arg @ref LL_EXTI_LINE_21 00749 * @arg @ref LL_EXTI_LINE_22 00750 * @arg @ref LL_EXTI_LINE_23 00751 * @arg @ref LL_EXTI_LINE_24 00752 * @arg @ref LL_EXTI_LINE_25 00753 * @arg @ref LL_EXTI_LINE_26 00754 * @arg @ref LL_EXTI_LINE_27 00755 * @arg @ref LL_EXTI_LINE_28 00756 * @arg @ref LL_EXTI_LINE_29 00757 * @arg @ref LL_EXTI_LINE_30 00758 * @arg @ref LL_EXTI_LINE_31 00759 * @arg @ref LL_EXTI_LINE_ALL_0_31 00760 * @retval None 00761 */ 00762 __STATIC_INLINE void LL_C2_EXTI_EnableIT_0_31(uint32_t ExtiLine) 00763 { 00764 SET_BIT(EXTI->C2IMR1, ExtiLine); 00765 } 00766 00767 00768 /** 00769 * @brief Enable ExtiLine Interrupt request for Lines in range 32 to 63 for cpu2 00770 * @rmtoll C2IMR2 IMx LL_C2_EXTI_EnableIT_32_63 00771 * @param ExtiLine This parameter can be one of the following values: 00772 * @arg @ref LL_EXTI_LINE_32 00773 * @arg @ref LL_EXTI_LINE_33 00774 * @arg @ref LL_EXTI_LINE_34 00775 * @arg @ref LL_EXTI_LINE_35 00776 * @arg @ref LL_EXTI_LINE_36 00777 * @arg @ref LL_EXTI_LINE_37 00778 * @arg @ref LL_EXTI_LINE_38 00779 * @arg @ref LL_EXTI_LINE_39 00780 * @arg @ref LL_EXTI_LINE_40 00781 * @arg @ref LL_EXTI_LINE_41 00782 * @arg @ref LL_EXTI_LINE_42 00783 * @arg @ref LL_EXTI_LINE_43 00784 * @arg @ref LL_EXTI_LINE_44 00785 * @arg @ref LL_EXTI_LINE_46 00786 * @arg @ref LL_EXTI_LINE_47 00787 * @arg @ref LL_EXTI_LINE_48 00788 * @arg @ref LL_EXTI_LINE_49 00789 * @arg @ref LL_EXTI_LINE_50 00790 * @arg @ref LL_EXTI_LINE_51 00791 * @arg @ref LL_EXTI_LINE_52 00792 * @arg @ref LL_EXTI_LINE_53 00793 * @arg @ref LL_EXTI_LINE_54 00794 * @arg @ref LL_EXTI_LINE_55 00795 * @arg @ref LL_EXTI_LINE_56 00796 * @arg @ref LL_EXTI_LINE_57 00797 * @arg @ref LL_EXTI_LINE_58 00798 * @arg @ref LL_EXTI_LINE_59 00799 * @arg @ref LL_EXTI_LINE_60 00800 * @arg @ref LL_EXTI_LINE_61 00801 * @arg @ref LL_EXTI_LINE_62 00802 * @arg @ref LL_EXTI_LINE_63 00803 * @arg @ref LL_EXTI_LINE_ALL_32_63 00804 * @retval None 00805 */ 00806 __STATIC_INLINE void LL_C2_EXTI_EnableIT_32_63(uint32_t ExtiLine) 00807 { 00808 SET_BIT(EXTI->C2IMR2, ExtiLine); 00809 } 00810 00811 00812 /** 00813 * @brief Enable ExtiLine Interrupt request for Lines in range 64 to 95 00814 * @rmtoll C2IMR3 IMx LL_C2_EXTI_EnableIT_64_95 00815 * @param ExtiLine This parameter can be one of the following values: 00816 * @arg @ref LL_EXTI_LINE_64 00817 * @arg @ref LL_EXTI_LINE_65 00818 * @arg @ref LL_EXTI_LINE_66 00819 * @arg @ref LL_EXTI_LINE_67 00820 * @arg @ref LL_EXTI_LINE_68 00821 * @arg @ref LL_EXTI_LINE_69 00822 * @arg @ref LL_EXTI_LINE_70 00823 * @arg @ref LL_EXTI_LINE_71 00824 * @arg @ref LL_EXTI_LINE_72 00825 * @arg @ref LL_EXTI_LINE_73 00826 * @arg @ref LL_EXTI_LINE_74 00827 * @arg @ref LL_EXTI_LINE_75 00828 * @arg @ref LL_EXTI_LINE_76 00829 * @arg @ref LL_EXTI_LINE_77 00830 * @arg @ref LL_EXTI_LINE_78 00831 * @arg @ref LL_EXTI_LINE_79 00832 * @arg @ref LL_EXTI_LINE_80 00833 * @arg @ref LL_EXTI_LINE_82 00834 * @arg @ref LL_EXTI_LINE_84 00835 * @arg @ref LL_EXTI_LINE_85 00836 * @arg @ref LL_EXTI_LINE_86 00837 * @arg @ref LL_EXTI_LINE_87 00838 * @arg @ref LL_EXTI_LINE_ALL_64_95 00839 * @retval None 00840 */ 00841 __STATIC_INLINE void LL_C2_EXTI_EnableIT_64_95(uint32_t ExtiLine) 00842 { 00843 SET_BIT(EXTI->C2IMR3, ExtiLine); 00844 } 00845 00846 00847 /** 00848 * @brief Disable ExtiLine Interrupt request for Lines in range 0 to 31 for cpu2 00849 * @rmtoll C2IMR1 IMx LL_C2_EXTI_DisableIT_0_31 00850 * @param ExtiLine This parameter can be one of the following values: 00851 * @arg @ref LL_EXTI_LINE_0 00852 * @arg @ref LL_EXTI_LINE_1 00853 * @arg @ref LL_EXTI_LINE_2 00854 * @arg @ref LL_EXTI_LINE_3 00855 * @arg @ref LL_EXTI_LINE_4 00856 * @arg @ref LL_EXTI_LINE_5 00857 * @arg @ref LL_EXTI_LINE_6 00858 * @arg @ref LL_EXTI_LINE_7 00859 * @arg @ref LL_EXTI_LINE_8 00860 * @arg @ref LL_EXTI_LINE_9 00861 * @arg @ref LL_EXTI_LINE_10 00862 * @arg @ref LL_EXTI_LINE_11 00863 * @arg @ref LL_EXTI_LINE_12 00864 * @arg @ref LL_EXTI_LINE_13 00865 * @arg @ref LL_EXTI_LINE_14 00866 * @arg @ref LL_EXTI_LINE_15 00867 * @arg @ref LL_EXTI_LINE_16 00868 * @arg @ref LL_EXTI_LINE_17 00869 * @arg @ref LL_EXTI_LINE_18 00870 * @arg @ref LL_EXTI_LINE_19 00871 * @arg @ref LL_EXTI_LINE_20 00872 * @arg @ref LL_EXTI_LINE_21 00873 * @arg @ref LL_EXTI_LINE_22 00874 * @arg @ref LL_EXTI_LINE_23 00875 * @arg @ref LL_EXTI_LINE_24 00876 * @arg @ref LL_EXTI_LINE_25 00877 * @arg @ref LL_EXTI_LINE_26 00878 * @arg @ref LL_EXTI_LINE_27 00879 * @arg @ref LL_EXTI_LINE_28 00880 * @arg @ref LL_EXTI_LINE_29 00881 * @arg @ref LL_EXTI_LINE_30 00882 * @arg @ref LL_EXTI_LINE_31 00883 * @arg @ref LL_EXTI_LINE_ALL_0_31 00884 * @retval None 00885 */ 00886 __STATIC_INLINE void LL_C2_EXTI_DisableIT_0_31(uint32_t ExtiLine) 00887 { 00888 CLEAR_BIT(EXTI->C2IMR1, ExtiLine); 00889 } 00890 00891 00892 00893 /** 00894 * @brief Disable ExtiLine Interrupt request for Lines in range 32 to 63 for cpu2 00895 * @rmtoll C2IMR2 IMx LL_C2_EXTI_DisableIT_32_63 00896 * @param ExtiLine This parameter can be one of the following values: 00897 * @arg @ref LL_EXTI_LINE_32 00898 * @arg @ref LL_EXTI_LINE_33 00899 * @arg @ref LL_EXTI_LINE_34 00900 * @arg @ref LL_EXTI_LINE_35 00901 * @arg @ref LL_EXTI_LINE_36 00902 * @arg @ref LL_EXTI_LINE_37 00903 * @arg @ref LL_EXTI_LINE_38 00904 * @arg @ref LL_EXTI_LINE_39 00905 * @arg @ref LL_EXTI_LINE_40 00906 * @arg @ref LL_EXTI_LINE_41 00907 * @arg @ref LL_EXTI_LINE_42 00908 * @arg @ref LL_EXTI_LINE_43 00909 * @arg @ref LL_EXTI_LINE_44 00910 * @arg @ref LL_EXTI_LINE_46 00911 * @arg @ref LL_EXTI_LINE_47 00912 * @arg @ref LL_EXTI_LINE_48 00913 * @arg @ref LL_EXTI_LINE_49 00914 * @arg @ref LL_EXTI_LINE_50 00915 * @arg @ref LL_EXTI_LINE_51 00916 * @arg @ref LL_EXTI_LINE_52 00917 * @arg @ref LL_EXTI_LINE_53 00918 * @arg @ref LL_EXTI_LINE_54 00919 * @arg @ref LL_EXTI_LINE_55 00920 * @arg @ref LL_EXTI_LINE_56 00921 * @arg @ref LL_EXTI_LINE_57 00922 * @arg @ref LL_EXTI_LINE_58 00923 * @arg @ref LL_EXTI_LINE_59 00924 * @arg @ref LL_EXTI_LINE_60 00925 * @arg @ref LL_EXTI_LINE_61 00926 * @arg @ref LL_EXTI_LINE_62 00927 * @arg @ref LL_EXTI_LINE_63 00928 * @arg @ref LL_EXTI_LINE_ALL_32_63 00929 * @retval None 00930 */ 00931 __STATIC_INLINE void LL_C2_EXTI_DisableIT_32_63(uint32_t ExtiLine) 00932 { 00933 CLEAR_BIT(EXTI->C2IMR2, ExtiLine); 00934 } 00935 00936 00937 /** 00938 * @brief Disable ExtiLine Interrupt request for Lines in range 64 to 95 for cpu2 00939 * @rmtoll C2IMR3 IMx LL_C2_EXTI_DisableIT_64_95 00940 * @param ExtiLine This parameter can be one of the following values: 00941 * @arg @ref LL_EXTI_LINE_64 00942 * @arg @ref LL_EXTI_LINE_65 00943 * @arg @ref LL_EXTI_LINE_66 00944 * @arg @ref LL_EXTI_LINE_67 00945 * @arg @ref LL_EXTI_LINE_68 00946 * @arg @ref LL_EXTI_LINE_69 00947 * @arg @ref LL_EXTI_LINE_70 00948 * @arg @ref LL_EXTI_LINE_71 00949 * @arg @ref LL_EXTI_LINE_72 00950 * @arg @ref LL_EXTI_LINE_73 00951 * @arg @ref LL_EXTI_LINE_74 00952 * @arg @ref LL_EXTI_LINE_75 00953 * @arg @ref LL_EXTI_LINE_76 00954 * @arg @ref LL_EXTI_LINE_77 00955 * @arg @ref LL_EXTI_LINE_78 00956 * @arg @ref LL_EXTI_LINE_79 00957 * @arg @ref LL_EXTI_LINE_80 00958 * @arg @ref LL_EXTI_LINE_82 00959 * @arg @ref LL_EXTI_LINE_84 00960 * @arg @ref LL_EXTI_LINE_85 00961 * @arg @ref LL_EXTI_LINE_86 00962 * @arg @ref LL_EXTI_LINE_87 00963 * @arg @ref LL_EXTI_LINE_ALL_64_95 00964 * @retval None 00965 */ 00966 __STATIC_INLINE void LL_C2_EXTI_DisableIT_64_95(uint32_t ExtiLine) 00967 { 00968 CLEAR_BIT(EXTI->C2IMR3, ExtiLine); 00969 } 00970 00971 00972 /** 00973 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31 for cpu2 00974 * @rmtoll C2IMR1 IMx LL_C2_EXTI_IsEnabledIT_0_31 00975 * @param ExtiLine This parameter can be one of the following values: 00976 * @arg @ref LL_EXTI_LINE_0 00977 * @arg @ref LL_EXTI_LINE_1 00978 * @arg @ref LL_EXTI_LINE_2 00979 * @arg @ref LL_EXTI_LINE_3 00980 * @arg @ref LL_EXTI_LINE_4 00981 * @arg @ref LL_EXTI_LINE_5 00982 * @arg @ref LL_EXTI_LINE_6 00983 * @arg @ref LL_EXTI_LINE_7 00984 * @arg @ref LL_EXTI_LINE_8 00985 * @arg @ref LL_EXTI_LINE_9 00986 * @arg @ref LL_EXTI_LINE_10 00987 * @arg @ref LL_EXTI_LINE_11 00988 * @arg @ref LL_EXTI_LINE_12 00989 * @arg @ref LL_EXTI_LINE_13 00990 * @arg @ref LL_EXTI_LINE_14 00991 * @arg @ref LL_EXTI_LINE_15 00992 * @arg @ref LL_EXTI_LINE_16 00993 * @arg @ref LL_EXTI_LINE_17 00994 * @arg @ref LL_EXTI_LINE_18 00995 * @arg @ref LL_EXTI_LINE_19 00996 * @arg @ref LL_EXTI_LINE_20 00997 * @arg @ref LL_EXTI_LINE_21 00998 * @arg @ref LL_EXTI_LINE_22 00999 * @arg @ref LL_EXTI_LINE_23 01000 * @arg @ref LL_EXTI_LINE_24 01001 * @arg @ref LL_EXTI_LINE_25 01002 * @arg @ref LL_EXTI_LINE_26 01003 * @arg @ref LL_EXTI_LINE_27 01004 * @arg @ref LL_EXTI_LINE_28 01005 * @arg @ref LL_EXTI_LINE_29 01006 * @arg @ref LL_EXTI_LINE_30 01007 * @arg @ref LL_EXTI_LINE_31 01008 * @arg @ref LL_EXTI_LINE_ALL_0_31 01009 * @retval State of bit (1 or 0). 01010 */ 01011 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine) 01012 { 01013 return ((READ_BIT(EXTI->C2IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01014 } 01015 01016 01017 /** 01018 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63 for cpu2 01019 * @rmtoll C2IMR2 IMx LL_C2_EXTI_IsEnabledIT_32_63 01020 * @param ExtiLine This parameter can be one of the following values: 01021 * @arg @ref LL_EXTI_LINE_32 01022 * @arg @ref LL_EXTI_LINE_33 01023 * @arg @ref LL_EXTI_LINE_34 01024 * @arg @ref LL_EXTI_LINE_35 01025 * @arg @ref LL_EXTI_LINE_36 01026 * @arg @ref LL_EXTI_LINE_37 01027 * @arg @ref LL_EXTI_LINE_38 01028 * @arg @ref LL_EXTI_LINE_39 01029 * @arg @ref LL_EXTI_LINE_40 01030 * @arg @ref LL_EXTI_LINE_41 01031 * @arg @ref LL_EXTI_LINE_42 01032 * @arg @ref LL_EXTI_LINE_43 01033 * @arg @ref LL_EXTI_LINE_44 01034 * @arg @ref LL_EXTI_LINE_46 01035 * @arg @ref LL_EXTI_LINE_47 01036 * @arg @ref LL_EXTI_LINE_48 01037 * @arg @ref LL_EXTI_LINE_49 01038 * @arg @ref LL_EXTI_LINE_50 01039 * @arg @ref LL_EXTI_LINE_51 01040 * @arg @ref LL_EXTI_LINE_52 01041 * @arg @ref LL_EXTI_LINE_53 01042 * @arg @ref LL_EXTI_LINE_54 01043 * @arg @ref LL_EXTI_LINE_55 01044 * @arg @ref LL_EXTI_LINE_56 01045 * @arg @ref LL_EXTI_LINE_57 01046 * @arg @ref LL_EXTI_LINE_58 01047 * @arg @ref LL_EXTI_LINE_59 01048 * @arg @ref LL_EXTI_LINE_60 01049 * @arg @ref LL_EXTI_LINE_61 01050 * @arg @ref LL_EXTI_LINE_62 01051 * @arg @ref LL_EXTI_LINE_63 01052 * @arg @ref LL_EXTI_LINE_ALL_32_63 01053 * @retval State of bit (1 or 0). 01054 */ 01055 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine) 01056 { 01057 return ((READ_BIT(EXTI->C2IMR2, ExtiLine) == (ExtiLine))? 1U : 0U); 01058 } 01059 01060 01061 /** 01062 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 64 to 95 01063 * @rmtoll C2IMR3 IMx LL_C2_EXTI_IsEnabledIT_64_95 01064 * @param ExtiLine This parameter can be one of the following values: 01065 * @arg @ref LL_EXTI_LINE_64 01066 * @arg @ref LL_EXTI_LINE_65 01067 * @arg @ref LL_EXTI_LINE_66 01068 * @arg @ref LL_EXTI_LINE_67 01069 * @arg @ref LL_EXTI_LINE_68 01070 * @arg @ref LL_EXTI_LINE_69 01071 * @arg @ref LL_EXTI_LINE_70 01072 * @arg @ref LL_EXTI_LINE_71 01073 * @arg @ref LL_EXTI_LINE_72 01074 * @arg @ref LL_EXTI_LINE_73 01075 * @arg @ref LL_EXTI_LINE_74 01076 * @arg @ref LL_EXTI_LINE_75 01077 * @arg @ref LL_EXTI_LINE_76 01078 * @arg @ref LL_EXTI_LINE_77 01079 * @arg @ref LL_EXTI_LINE_78 01080 * @arg @ref LL_EXTI_LINE_79 01081 * @arg @ref LL_EXTI_LINE_80 01082 * @arg @ref LL_EXTI_LINE_82 01083 * @arg @ref LL_EXTI_LINE_84 01084 * @arg @ref LL_EXTI_LINE_85 01085 * @arg @ref LL_EXTI_LINE_86 01086 * @arg @ref LL_EXTI_LINE_87 01087 * @arg @ref LL_EXTI_LINE_ALL_64_95 01088 * @retval State of bit (1 or 0). 01089 */ 01090 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine) 01091 { 01092 return ((READ_BIT(EXTI->C2IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01093 } 01094 01095 #endif /* DUAL_CORE */ 01096 01097 01098 /** 01099 * @} 01100 */ 01101 01102 /** @defgroup EXTI_LL_EF_Event_Management Event_Management 01103 * @{ 01104 */ 01105 01106 /** 01107 * @brief Enable ExtiLine Event request for Lines in range 0 to 31 01108 * @rmtoll EMR1 EMx LL_EXTI_EnableEvent_0_31 01109 * @param ExtiLine This parameter can be one of the following values: 01110 * @arg @ref LL_EXTI_LINE_0 01111 * @arg @ref LL_EXTI_LINE_1 01112 * @arg @ref LL_EXTI_LINE_2 01113 * @arg @ref LL_EXTI_LINE_3 01114 * @arg @ref LL_EXTI_LINE_4 01115 * @arg @ref LL_EXTI_LINE_5 01116 * @arg @ref LL_EXTI_LINE_6 01117 * @arg @ref LL_EXTI_LINE_7 01118 * @arg @ref LL_EXTI_LINE_8 01119 * @arg @ref LL_EXTI_LINE_9 01120 * @arg @ref LL_EXTI_LINE_10 01121 * @arg @ref LL_EXTI_LINE_11 01122 * @arg @ref LL_EXTI_LINE_12 01123 * @arg @ref LL_EXTI_LINE_13 01124 * @arg @ref LL_EXTI_LINE_14 01125 * @arg @ref LL_EXTI_LINE_15 01126 * @arg @ref LL_EXTI_LINE_16 01127 * @arg @ref LL_EXTI_LINE_17 01128 * @arg @ref LL_EXTI_LINE_18 01129 * @arg @ref LL_EXTI_LINE_19 01130 * @arg @ref LL_EXTI_LINE_20 01131 * @arg @ref LL_EXTI_LINE_21 01132 * @arg @ref LL_EXTI_LINE_22 01133 * @arg @ref LL_EXTI_LINE_23 01134 * @arg @ref LL_EXTI_LINE_24 01135 * @arg @ref LL_EXTI_LINE_25 01136 * @arg @ref LL_EXTI_LINE_26 01137 * @arg @ref LL_EXTI_LINE_27 01138 * @arg @ref LL_EXTI_LINE_28 01139 * @arg @ref LL_EXTI_LINE_29 01140 * @arg @ref LL_EXTI_LINE_30 01141 * @arg @ref LL_EXTI_LINE_31 01142 * @arg @ref LL_EXTI_LINE_ALL_0_31 01143 * @retval None 01144 */ 01145 __STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine) 01146 { 01147 SET_BIT(EXTI->EMR1, ExtiLine); 01148 } 01149 01150 /** 01151 * @brief Enable ExtiLine Event request for Lines in range 32 to 63 01152 * @rmtoll EMR2 EMx LL_EXTI_EnableEvent_32_63 01153 * @param ExtiLine This parameter can be a combination of the following values: 01154 * @arg @ref LL_EXTI_LINE_32 01155 * @arg @ref LL_EXTI_LINE_33 01156 * @arg @ref LL_EXTI_LINE_34 01157 * @arg @ref LL_EXTI_LINE_35 01158 * @arg @ref LL_EXTI_LINE_36 01159 * @arg @ref LL_EXTI_LINE_37 01160 * @arg @ref LL_EXTI_LINE_38 01161 * @arg @ref LL_EXTI_LINE_39 01162 * @arg @ref LL_EXTI_LINE_40 01163 * @arg @ref LL_EXTI_LINE_41 01164 * @arg @ref LL_EXTI_LINE_42 01165 * @arg @ref LL_EXTI_LINE_43 01166 * @arg @ref LL_EXTI_LINE_44 (*) 01167 * @arg @ref LL_EXTI_LINE_46 (*) 01168 * @arg @ref LL_EXTI_LINE_47 01169 * @arg @ref LL_EXTI_LINE_48 01170 * @arg @ref LL_EXTI_LINE_49 01171 * @arg @ref LL_EXTI_LINE_50 01172 * @arg @ref LL_EXTI_LINE_51 01173 * @arg @ref LL_EXTI_LINE_52 01174 * @arg @ref LL_EXTI_LINE_53 01175 * @arg @ref LL_EXTI_LINE_54 01176 * @arg @ref LL_EXTI_LINE_55 01177 * @arg @ref LL_EXTI_LINE_56 01178 * @arg @ref LL_EXTI_LINE_57 (*) 01179 * @arg @ref LL_EXTI_LINE_58 01180 * @arg @ref LL_EXTI_LINE_59 (*) 01181 * @arg @ref LL_EXTI_LINE_60 01182 * @arg @ref LL_EXTI_LINE_61 01183 * @arg @ref LL_EXTI_LINE_62 01184 * @arg @ref LL_EXTI_LINE_63 01185 * @arg @ref LL_EXTI_LINE_ALL_32_63 01186 * 01187 * (*) value not defined in all devices. 01188 * @retval None 01189 */ 01190 __STATIC_INLINE void LL_EXTI_EnableEvent_32_63(uint32_t ExtiLine) 01191 { 01192 SET_BIT(EXTI->EMR2, ExtiLine); 01193 } 01194 01195 /** 01196 * @brief Enable ExtiLine Event request for Lines in range 64 to 95 01197 * @rmtoll EMR3 EMx LL_EXTI_EnableEvent_64_95 01198 * @param ExtiLine This parameter can be a combination of the following values: 01199 * @arg @ref LL_EXTI_LINE_64 01200 * @arg @ref LL_EXTI_LINE_65 01201 * @arg @ref LL_EXTI_LINE_66 01202 * @arg @ref LL_EXTI_LINE_67 01203 * @arg @ref LL_EXTI_LINE_68 01204 * @arg @ref LL_EXTI_LINE_69 01205 * @arg @ref LL_EXTI_LINE_70 01206 * @arg @ref LL_EXTI_LINE_71 01207 * @arg @ref LL_EXTI_LINE_72 01208 * @arg @ref LL_EXTI_LINE_73 01209 * @arg @ref LL_EXTI_LINE_74 01210 * @arg @ref LL_EXTI_LINE_75 (*) 01211 * @arg @ref LL_EXTI_LINE_76 (*) 01212 * @arg @ref LL_EXTI_LINE_77 (**) 01213 * @arg @ref LL_EXTI_LINE_78 (**) 01214 * @arg @ref LL_EXTI_LINE_79 (**) 01215 * @arg @ref LL_EXTI_LINE_80 (**) 01216 * @arg @ref LL_EXTI_LINE_82 (**) 01217 * @arg @ref LL_EXTI_LINE_84 (**) 01218 * @arg @ref LL_EXTI_LINE_85 01219 * @arg @ref LL_EXTI_LINE_86 (*) 01220 * @arg @ref LL_EXTI_LINE_87 01221 * @arg @ref LL_EXTI_LINE_88 (*) 01222 * @arg @ref LL_EXTI_LINE_89 (*) 01223 * @arg @ref LL_EXTI_LINE_90 (*) 01224 * @arg @ref LL_EXTI_LINE_91 (*) 01225 * @arg @ref LL_EXTI_LINE_ALL_64_95 01226 * 01227 * (*) value not defined in all devices. 01228 * (**) value only defined in dual core devices. 01229 * @retval None 01230 */ 01231 __STATIC_INLINE void LL_EXTI_EnableEvent_64_95(uint32_t ExtiLine) 01232 { 01233 SET_BIT(EXTI->EMR3, ExtiLine); 01234 } 01235 01236 /** 01237 * @brief Disable ExtiLine Event request for Lines in range 0 to 31 01238 * @rmtoll EMR1 EMx LL_EXTI_DisableEvent_0_31 01239 * @param ExtiLine This parameter can be one of the following values: 01240 * @arg @ref LL_EXTI_LINE_0 01241 * @arg @ref LL_EXTI_LINE_1 01242 * @arg @ref LL_EXTI_LINE_2 01243 * @arg @ref LL_EXTI_LINE_3 01244 * @arg @ref LL_EXTI_LINE_4 01245 * @arg @ref LL_EXTI_LINE_5 01246 * @arg @ref LL_EXTI_LINE_6 01247 * @arg @ref LL_EXTI_LINE_7 01248 * @arg @ref LL_EXTI_LINE_8 01249 * @arg @ref LL_EXTI_LINE_9 01250 * @arg @ref LL_EXTI_LINE_10 01251 * @arg @ref LL_EXTI_LINE_11 01252 * @arg @ref LL_EXTI_LINE_12 01253 * @arg @ref LL_EXTI_LINE_13 01254 * @arg @ref LL_EXTI_LINE_14 01255 * @arg @ref LL_EXTI_LINE_15 01256 * @arg @ref LL_EXTI_LINE_16 01257 * @arg @ref LL_EXTI_LINE_17 01258 * @arg @ref LL_EXTI_LINE_18 01259 * @arg @ref LL_EXTI_LINE_19 01260 * @arg @ref LL_EXTI_LINE_20 01261 * @arg @ref LL_EXTI_LINE_21 01262 * @arg @ref LL_EXTI_LINE_22 01263 * @arg @ref LL_EXTI_LINE_23 01264 * @arg @ref LL_EXTI_LINE_24 01265 * @arg @ref LL_EXTI_LINE_25 01266 * @arg @ref LL_EXTI_LINE_26 01267 * @arg @ref LL_EXTI_LINE_27 01268 * @arg @ref LL_EXTI_LINE_28 01269 * @arg @ref LL_EXTI_LINE_29 01270 * @arg @ref LL_EXTI_LINE_30 01271 * @arg @ref LL_EXTI_LINE_31 01272 * @arg @ref LL_EXTI_LINE_ALL_0_31 01273 * @retval None 01274 */ 01275 __STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine) 01276 { 01277 CLEAR_BIT(EXTI->EMR1, ExtiLine); 01278 } 01279 01280 /** 01281 * @brief Disable ExtiLine Event request for Lines in range 32 to 63 01282 * @rmtoll EMR2 EMx LL_EXTI_DisableEvent_32_63 01283 * @param ExtiLine This parameter can be a combination of the following values: 01284 * @arg @ref LL_EXTI_LINE_32 01285 * @arg @ref LL_EXTI_LINE_33 01286 * @arg @ref LL_EXTI_LINE_34 01287 * @arg @ref LL_EXTI_LINE_35 01288 * @arg @ref LL_EXTI_LINE_36 01289 * @arg @ref LL_EXTI_LINE_37 01290 * @arg @ref LL_EXTI_LINE_38 01291 * @arg @ref LL_EXTI_LINE_39 01292 * @arg @ref LL_EXTI_LINE_40 01293 * @arg @ref LL_EXTI_LINE_41 01294 * @arg @ref LL_EXTI_LINE_42 01295 * @arg @ref LL_EXTI_LINE_43 01296 * @arg @ref LL_EXTI_LINE_44 (*) 01297 * @arg @ref LL_EXTI_LINE_46 (*) 01298 * @arg @ref LL_EXTI_LINE_47 01299 * @arg @ref LL_EXTI_LINE_48 01300 * @arg @ref LL_EXTI_LINE_49 01301 * @arg @ref LL_EXTI_LINE_50 01302 * @arg @ref LL_EXTI_LINE_51 01303 * @arg @ref LL_EXTI_LINE_52 01304 * @arg @ref LL_EXTI_LINE_53 01305 * @arg @ref LL_EXTI_LINE_54 01306 * @arg @ref LL_EXTI_LINE_55 01307 * @arg @ref LL_EXTI_LINE_56 01308 * @arg @ref LL_EXTI_LINE_57 (*) 01309 * @arg @ref LL_EXTI_LINE_58 01310 * @arg @ref LL_EXTI_LINE_59 (*) 01311 * @arg @ref LL_EXTI_LINE_60 01312 * @arg @ref LL_EXTI_LINE_61 01313 * @arg @ref LL_EXTI_LINE_62 01314 * @arg @ref LL_EXTI_LINE_63 01315 * @arg @ref LL_EXTI_LINE_ALL_32_63 01316 * 01317 * (*) value not defined in all devices. 01318 * @retval None 01319 */ 01320 __STATIC_INLINE void LL_EXTI_DisableEvent_32_63(uint32_t ExtiLine) 01321 { 01322 CLEAR_BIT(EXTI->EMR2, ExtiLine); 01323 } 01324 01325 /** 01326 * @brief Disable ExtiLine Event request for Lines in range 64 to 95 01327 * @rmtoll EMR3 EMx LL_EXTI_DisableEvent_64_95 01328 * @param ExtiLine This parameter can be a combination of the following values: 01329 * @arg @ref LL_EXTI_LINE_64 01330 * @arg @ref LL_EXTI_LINE_65 01331 * @arg @ref LL_EXTI_LINE_66 01332 * @arg @ref LL_EXTI_LINE_67 01333 * @arg @ref LL_EXTI_LINE_68 01334 * @arg @ref LL_EXTI_LINE_69 01335 * @arg @ref LL_EXTI_LINE_70 01336 * @arg @ref LL_EXTI_LINE_71 01337 * @arg @ref LL_EXTI_LINE_72 01338 * @arg @ref LL_EXTI_LINE_73 01339 * @arg @ref LL_EXTI_LINE_74 01340 * @arg @ref LL_EXTI_LINE_75 (*) 01341 * @arg @ref LL_EXTI_LINE_76 (*) 01342 * @arg @ref LL_EXTI_LINE_77 (**) 01343 * @arg @ref LL_EXTI_LINE_78 (**) 01344 * @arg @ref LL_EXTI_LINE_79 (**) 01345 * @arg @ref LL_EXTI_LINE_80 (**) 01346 * @arg @ref LL_EXTI_LINE_82 (**) 01347 * @arg @ref LL_EXTI_LINE_84 (**) 01348 * @arg @ref LL_EXTI_LINE_85 01349 * @arg @ref LL_EXTI_LINE_86 (*) 01350 * @arg @ref LL_EXTI_LINE_87 01351 * @arg @ref LL_EXTI_LINE_88 (*) 01352 * @arg @ref LL_EXTI_LINE_89 (*) 01353 * @arg @ref LL_EXTI_LINE_90 (*) 01354 * @arg @ref LL_EXTI_LINE_91 (*) 01355 * @arg @ref LL_EXTI_LINE_ALL_64_95 01356 * 01357 * (*) value not defined in all devices. 01358 * (**) value only defined in dual core devices. 01359 * @retval None 01360 */ 01361 __STATIC_INLINE void LL_EXTI_DisableEvent_64_95(uint32_t ExtiLine) 01362 { 01363 CLEAR_BIT(EXTI->EMR3, ExtiLine); 01364 } 01365 01366 /** 01367 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31 01368 * @rmtoll EMR1 EMx LL_EXTI_IsEnabledEvent_0_31 01369 * @param ExtiLine This parameter can be one of the following values: 01370 * @arg @ref LL_EXTI_LINE_0 01371 * @arg @ref LL_EXTI_LINE_1 01372 * @arg @ref LL_EXTI_LINE_2 01373 * @arg @ref LL_EXTI_LINE_3 01374 * @arg @ref LL_EXTI_LINE_4 01375 * @arg @ref LL_EXTI_LINE_5 01376 * @arg @ref LL_EXTI_LINE_6 01377 * @arg @ref LL_EXTI_LINE_7 01378 * @arg @ref LL_EXTI_LINE_8 01379 * @arg @ref LL_EXTI_LINE_9 01380 * @arg @ref LL_EXTI_LINE_10 01381 * @arg @ref LL_EXTI_LINE_11 01382 * @arg @ref LL_EXTI_LINE_12 01383 * @arg @ref LL_EXTI_LINE_13 01384 * @arg @ref LL_EXTI_LINE_14 01385 * @arg @ref LL_EXTI_LINE_15 01386 * @arg @ref LL_EXTI_LINE_16 01387 * @arg @ref LL_EXTI_LINE_17 01388 * @arg @ref LL_EXTI_LINE_18 01389 * @arg @ref LL_EXTI_LINE_19 01390 * @arg @ref LL_EXTI_LINE_20 01391 * @arg @ref LL_EXTI_LINE_21 01392 * @arg @ref LL_EXTI_LINE_22 01393 * @arg @ref LL_EXTI_LINE_23 01394 * @arg @ref LL_EXTI_LINE_24 01395 * @arg @ref LL_EXTI_LINE_25 01396 * @arg @ref LL_EXTI_LINE_26 01397 * @arg @ref LL_EXTI_LINE_27 01398 * @arg @ref LL_EXTI_LINE_28 01399 * @arg @ref LL_EXTI_LINE_29 01400 * @arg @ref LL_EXTI_LINE_30 01401 * @arg @ref LL_EXTI_LINE_31 01402 * @arg @ref LL_EXTI_LINE_ALL_0_31 01403 * @note Please check each device line mapping for EXTI Line availability 01404 * @retval State of bit (1 or 0). 01405 */ 01406 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine) 01407 { 01408 return ((READ_BIT(EXTI->EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01409 } 01410 01411 /** 01412 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63 01413 * @rmtoll EMR2 EMx LL_EXTI_IsEnabledEvent_32_63 01414 * @param ExtiLine This parameter can be a combination of the following values: 01415 * @arg @ref LL_EXTI_LINE_32 01416 * @arg @ref LL_EXTI_LINE_33 01417 * @arg @ref LL_EXTI_LINE_34 01418 * @arg @ref LL_EXTI_LINE_35 01419 * @arg @ref LL_EXTI_LINE_36 01420 * @arg @ref LL_EXTI_LINE_37 01421 * @arg @ref LL_EXTI_LINE_38 01422 * @arg @ref LL_EXTI_LINE_39 01423 * @arg @ref LL_EXTI_LINE_40 01424 * @arg @ref LL_EXTI_LINE_41 01425 * @arg @ref LL_EXTI_LINE_42 01426 * @arg @ref LL_EXTI_LINE_43 01427 * @arg @ref LL_EXTI_LINE_44 (*) 01428 * @arg @ref LL_EXTI_LINE_46 (*) 01429 * @arg @ref LL_EXTI_LINE_47 01430 * @arg @ref LL_EXTI_LINE_48 01431 * @arg @ref LL_EXTI_LINE_49 01432 * @arg @ref LL_EXTI_LINE_50 01433 * @arg @ref LL_EXTI_LINE_51 01434 * @arg @ref LL_EXTI_LINE_52 01435 * @arg @ref LL_EXTI_LINE_53 01436 * @arg @ref LL_EXTI_LINE_54 01437 * @arg @ref LL_EXTI_LINE_55 01438 * @arg @ref LL_EXTI_LINE_56 01439 * @arg @ref LL_EXTI_LINE_57 (*) 01440 * @arg @ref LL_EXTI_LINE_58 01441 * @arg @ref LL_EXTI_LINE_59 (*) 01442 * @arg @ref LL_EXTI_LINE_60 01443 * @arg @ref LL_EXTI_LINE_61 01444 * @arg @ref LL_EXTI_LINE_62 01445 * @arg @ref LL_EXTI_LINE_63 01446 * @arg @ref LL_EXTI_LINE_ALL_32_63 01447 * 01448 * (*) value not defined in all devices. 01449 * @retval State of bit (1 or 0). 01450 */ 01451 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine) 01452 { 01453 return ((READ_BIT(EXTI->EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01454 } 01455 01456 /** 01457 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 64 to 95 01458 * @rmtoll EMR3 EMx LL_EXTI_IsEnabledEvent_64_95 01459 * @param ExtiLine This parameter can be a combination of the following values: 01460 * @arg @ref LL_EXTI_LINE_64 01461 * @arg @ref LL_EXTI_LINE_65 01462 * @arg @ref LL_EXTI_LINE_66 01463 * @arg @ref LL_EXTI_LINE_67 01464 * @arg @ref LL_EXTI_LINE_68 01465 * @arg @ref LL_EXTI_LINE_69 01466 * @arg @ref LL_EXTI_LINE_70 01467 * @arg @ref LL_EXTI_LINE_71 01468 * @arg @ref LL_EXTI_LINE_72 01469 * @arg @ref LL_EXTI_LINE_73 01470 * @arg @ref LL_EXTI_LINE_74 01471 * @arg @ref LL_EXTI_LINE_75 (*) 01472 * @arg @ref LL_EXTI_LINE_76 (*) 01473 * @arg @ref LL_EXTI_LINE_77 (**) 01474 * @arg @ref LL_EXTI_LINE_78 (**) 01475 * @arg @ref LL_EXTI_LINE_79 (**) 01476 * @arg @ref LL_EXTI_LINE_80 (**) 01477 * @arg @ref LL_EXTI_LINE_82 (**) 01478 * @arg @ref LL_EXTI_LINE_84 (**) 01479 * @arg @ref LL_EXTI_LINE_85 01480 * @arg @ref LL_EXTI_LINE_86 (*) 01481 * @arg @ref LL_EXTI_LINE_87 01482 * @arg @ref LL_EXTI_LINE_88 (*) 01483 * @arg @ref LL_EXTI_LINE_89 (*) 01484 * @arg @ref LL_EXTI_LINE_90 (*) 01485 * @arg @ref LL_EXTI_LINE_91 (*) 01486 * @arg @ref LL_EXTI_LINE_ALL_64_95 01487 * 01488 * (*) value not defined in all devices. 01489 * (**) value only defined in dual core devices. 01490 * @retval State of bit (1 or 0). 01491 */ 01492 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine) 01493 { 01494 return ((READ_BIT(EXTI->EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01495 } 01496 01497 #if defined(DUAL_CORE) 01498 01499 /** 01500 * @brief Enable ExtiLine Event request for Lines in range 0 to 31 for cpu2 01501 * @rmtoll C2EMR1 EMx LL_C2_EXTI_EnableEvent_0_31 01502 * @param ExtiLine This parameter can be one of the following values: 01503 * @arg @ref LL_EXTI_LINE_0 01504 * @arg @ref LL_EXTI_LINE_1 01505 * @arg @ref LL_EXTI_LINE_2 01506 * @arg @ref LL_EXTI_LINE_3 01507 * @arg @ref LL_EXTI_LINE_4 01508 * @arg @ref LL_EXTI_LINE_5 01509 * @arg @ref LL_EXTI_LINE_6 01510 * @arg @ref LL_EXTI_LINE_7 01511 * @arg @ref LL_EXTI_LINE_8 01512 * @arg @ref LL_EXTI_LINE_9 01513 * @arg @ref LL_EXTI_LINE_10 01514 * @arg @ref LL_EXTI_LINE_11 01515 * @arg @ref LL_EXTI_LINE_12 01516 * @arg @ref LL_EXTI_LINE_13 01517 * @arg @ref LL_EXTI_LINE_14 01518 * @arg @ref LL_EXTI_LINE_15 01519 * @arg @ref LL_EXTI_LINE_16 01520 * @arg @ref LL_EXTI_LINE_17 01521 * @arg @ref LL_EXTI_LINE_18 01522 * @arg @ref LL_EXTI_LINE_19 01523 * @arg @ref LL_EXTI_LINE_20 01524 * @arg @ref LL_EXTI_LINE_21 01525 * @arg @ref LL_EXTI_LINE_22 01526 * @arg @ref LL_EXTI_LINE_23 01527 * @arg @ref LL_EXTI_LINE_24 01528 * @arg @ref LL_EXTI_LINE_25 01529 * @arg @ref LL_EXTI_LINE_26 01530 * @arg @ref LL_EXTI_LINE_27 01531 * @arg @ref LL_EXTI_LINE_28 01532 * @arg @ref LL_EXTI_LINE_29 01533 * @arg @ref LL_EXTI_LINE_30 01534 * @arg @ref LL_EXTI_LINE_31 01535 * @arg @ref LL_EXTI_LINE_ALL_0_31 01536 * @retval None 01537 */ 01538 __STATIC_INLINE void LL_C2_EXTI_EnableEvent_0_31(uint32_t ExtiLine) 01539 { 01540 SET_BIT(EXTI->C2EMR1, ExtiLine); 01541 } 01542 01543 01544 /** 01545 * @brief Enable ExtiLine Event request for Lines in range 32 to 63 for cpu2 01546 * @rmtoll C2EMR2 EMx LL_C2_EXTI_EnableEvent_32_63 01547 * @param ExtiLine This parameter can be a combination of the following values: 01548 * @arg @ref LL_EXTI_LINE_32 01549 * @arg @ref LL_EXTI_LINE_33 01550 * @arg @ref LL_EXTI_LINE_34 01551 * @arg @ref LL_EXTI_LINE_35 01552 * @arg @ref LL_EXTI_LINE_36 01553 * @arg @ref LL_EXTI_LINE_37 01554 * @arg @ref LL_EXTI_LINE_38 01555 * @arg @ref LL_EXTI_LINE_39 01556 * @arg @ref LL_EXTI_LINE_40 01557 * @arg @ref LL_EXTI_LINE_41 01558 * @arg @ref LL_EXTI_LINE_42 01559 * @arg @ref LL_EXTI_LINE_43 01560 * @arg @ref LL_EXTI_LINE_44 01561 * @arg @ref LL_EXTI_LINE_46 01562 * @arg @ref LL_EXTI_LINE_47 01563 * @arg @ref LL_EXTI_LINE_48 01564 * @arg @ref LL_EXTI_LINE_49 01565 * @arg @ref LL_EXTI_LINE_50 01566 * @arg @ref LL_EXTI_LINE_51 01567 * @arg @ref LL_EXTI_LINE_52 01568 * @arg @ref LL_EXTI_LINE_53 01569 * @arg @ref LL_EXTI_LINE_54 01570 * @arg @ref LL_EXTI_LINE_55 01571 * @arg @ref LL_EXTI_LINE_56 01572 * @arg @ref LL_EXTI_LINE_57 01573 * @arg @ref LL_EXTI_LINE_58 01574 * @arg @ref LL_EXTI_LINE_59 01575 * @arg @ref LL_EXTI_LINE_60 01576 * @arg @ref LL_EXTI_LINE_61 01577 * @arg @ref LL_EXTI_LINE_62 01578 * @arg @ref LL_EXTI_LINE_63 01579 * @arg @ref LL_EXTI_LINE_ALL_32_63 01580 * @retval None 01581 */ 01582 __STATIC_INLINE void LL_C2_EXTI_EnableEvent_32_63(uint32_t ExtiLine) 01583 { 01584 SET_BIT(EXTI->C2EMR2, ExtiLine); 01585 } 01586 01587 /** 01588 * @brief Enable ExtiLine Event request for Lines in range 64 to 95 for cpu2 01589 * @rmtoll C2EMR3 EMx LL_C2_EXTI_EnableEvent_64_95 01590 * @param ExtiLine This parameter can be a combination of the following values: 01591 * @arg @ref LL_EXTI_LINE_64 01592 * @arg @ref LL_EXTI_LINE_65 01593 * @arg @ref LL_EXTI_LINE_66 01594 * @arg @ref LL_EXTI_LINE_67 01595 * @arg @ref LL_EXTI_LINE_68 01596 * @arg @ref LL_EXTI_LINE_69 01597 * @arg @ref LL_EXTI_LINE_70 01598 * @arg @ref LL_EXTI_LINE_71 01599 * @arg @ref LL_EXTI_LINE_72 01600 * @arg @ref LL_EXTI_LINE_73 01601 * @arg @ref LL_EXTI_LINE_74 01602 * @arg @ref LL_EXTI_LINE_75 01603 * @arg @ref LL_EXTI_LINE_76 01604 * @arg @ref LL_EXTI_LINE_77 01605 * @arg @ref LL_EXTI_LINE_78 01606 * @arg @ref LL_EXTI_LINE_79 01607 * @arg @ref LL_EXTI_LINE_80 01608 * @arg @ref LL_EXTI_LINE_82 01609 * @arg @ref LL_EXTI_LINE_84 01610 * @arg @ref LL_EXTI_LINE_85 01611 * @arg @ref LL_EXTI_LINE_86 01612 * @arg @ref LL_EXTI_LINE_87 01613 * @arg @ref LL_EXTI_LINE_ALL_64_95 01614 * @retval None 01615 */ 01616 __STATIC_INLINE void LL_C2_EXTI_EnableEvent_64_95(uint32_t ExtiLine) 01617 { 01618 SET_BIT(EXTI->C2EMR3, ExtiLine); 01619 } 01620 01621 01622 /** 01623 * @brief Disable ExtiLine Event request for Lines in range 0 to 31 for cpu2 01624 * @rmtoll C2EMR1 EMx LL_C2_EXTI_DisableEvent_0_31 01625 * @param ExtiLine This parameter can be one of the following values: 01626 * @arg @ref LL_EXTI_LINE_0 01627 * @arg @ref LL_EXTI_LINE_1 01628 * @arg @ref LL_EXTI_LINE_2 01629 * @arg @ref LL_EXTI_LINE_3 01630 * @arg @ref LL_EXTI_LINE_4 01631 * @arg @ref LL_EXTI_LINE_5 01632 * @arg @ref LL_EXTI_LINE_6 01633 * @arg @ref LL_EXTI_LINE_7 01634 * @arg @ref LL_EXTI_LINE_8 01635 * @arg @ref LL_EXTI_LINE_9 01636 * @arg @ref LL_EXTI_LINE_10 01637 * @arg @ref LL_EXTI_LINE_11 01638 * @arg @ref LL_EXTI_LINE_12 01639 * @arg @ref LL_EXTI_LINE_13 01640 * @arg @ref LL_EXTI_LINE_14 01641 * @arg @ref LL_EXTI_LINE_15 01642 * @arg @ref LL_EXTI_LINE_16 01643 * @arg @ref LL_EXTI_LINE_17 01644 * @arg @ref LL_EXTI_LINE_18 01645 * @arg @ref LL_EXTI_LINE_19 01646 * @arg @ref LL_EXTI_LINE_20 01647 * @arg @ref LL_EXTI_LINE_21 01648 * @arg @ref LL_EXTI_LINE_22 01649 * @arg @ref LL_EXTI_LINE_23 01650 * @arg @ref LL_EXTI_LINE_24 01651 * @arg @ref LL_EXTI_LINE_25 01652 * @arg @ref LL_EXTI_LINE_26 01653 * @arg @ref LL_EXTI_LINE_27 01654 * @arg @ref LL_EXTI_LINE_28 01655 * @arg @ref LL_EXTI_LINE_29 01656 * @arg @ref LL_EXTI_LINE_30 01657 * @arg @ref LL_EXTI_LINE_31 01658 * @arg @ref LL_EXTI_LINE_ALL_0_31 01659 * @retval None 01660 */ 01661 __STATIC_INLINE void LL_C2_EXTI_DisableEvent_0_31(uint32_t ExtiLine) 01662 { 01663 CLEAR_BIT(EXTI->C2EMR1, ExtiLine); 01664 } 01665 01666 01667 /** 01668 * @brief Disable ExtiLine Event request for Lines in range 32 to 63 for cpu2 01669 * @rmtoll C2EMR2 EMx LL_C2_EXTI_DisableEvent_32_63 01670 * @param ExtiLine This parameter can be a combination of the following values: 01671 * @arg @ref LL_EXTI_LINE_32 01672 * @arg @ref LL_EXTI_LINE_33 01673 * @arg @ref LL_EXTI_LINE_34 01674 * @arg @ref LL_EXTI_LINE_35 01675 * @arg @ref LL_EXTI_LINE_36 01676 * @arg @ref LL_EXTI_LINE_37 01677 * @arg @ref LL_EXTI_LINE_38 01678 * @arg @ref LL_EXTI_LINE_39 01679 * @arg @ref LL_EXTI_LINE_40 01680 * @arg @ref LL_EXTI_LINE_41 01681 * @arg @ref LL_EXTI_LINE_42 01682 * @arg @ref LL_EXTI_LINE_43 01683 * @arg @ref LL_EXTI_LINE_44 01684 * @arg @ref LL_EXTI_LINE_46 01685 * @arg @ref LL_EXTI_LINE_47 01686 * @arg @ref LL_EXTI_LINE_48 01687 * @arg @ref LL_EXTI_LINE_49 01688 * @arg @ref LL_EXTI_LINE_50 01689 * @arg @ref LL_EXTI_LINE_51 01690 * @arg @ref LL_EXTI_LINE_52 01691 * @arg @ref LL_EXTI_LINE_53 01692 * @arg @ref LL_EXTI_LINE_54 01693 * @arg @ref LL_EXTI_LINE_55 01694 * @arg @ref LL_EXTI_LINE_56 01695 * @arg @ref LL_EXTI_LINE_57 01696 * @arg @ref LL_EXTI_LINE_58 01697 * @arg @ref LL_EXTI_LINE_59 01698 * @arg @ref LL_EXTI_LINE_60 01699 * @arg @ref LL_EXTI_LINE_61 01700 * @arg @ref LL_EXTI_LINE_62 01701 * @arg @ref LL_EXTI_LINE_63 01702 * @arg @ref LL_EXTI_LINE_ALL_32_63 01703 * @retval None 01704 */ 01705 __STATIC_INLINE void LL_C2_EXTI_DisableEvent_32_63(uint32_t ExtiLine) 01706 { 01707 CLEAR_BIT(EXTI->C2EMR2, ExtiLine); 01708 } 01709 01710 01711 /** 01712 * @brief Disable ExtiLine Event request for Lines in range 64 to 95 for cpu2 01713 * @rmtoll C2EMR3 EMx LL_C2_EXTI_DisableEvent_64_95 01714 * @param ExtiLine This parameter can be a combination of the following values: 01715 * @arg @ref LL_EXTI_LINE_64 01716 * @arg @ref LL_EXTI_LINE_65 01717 * @arg @ref LL_EXTI_LINE_66 01718 * @arg @ref LL_EXTI_LINE_67 01719 * @arg @ref LL_EXTI_LINE_68 01720 * @arg @ref LL_EXTI_LINE_69 01721 * @arg @ref LL_EXTI_LINE_70 01722 * @arg @ref LL_EXTI_LINE_71 01723 * @arg @ref LL_EXTI_LINE_72 01724 * @arg @ref LL_EXTI_LINE_73 01725 * @arg @ref LL_EXTI_LINE_74 01726 * @arg @ref LL_EXTI_LINE_75 01727 * @arg @ref LL_EXTI_LINE_76 01728 * @arg @ref LL_EXTI_LINE_77 01729 * @arg @ref LL_EXTI_LINE_78 01730 * @arg @ref LL_EXTI_LINE_79 01731 * @arg @ref LL_EXTI_LINE_80 01732 * @arg @ref LL_EXTI_LINE_82 01733 * @arg @ref LL_EXTI_LINE_84 01734 * @arg @ref LL_EXTI_LINE_85 01735 * @arg @ref LL_EXTI_LINE_86 01736 * @arg @ref LL_EXTI_LINE_87 01737 * @arg @ref LL_EXTI_LINE_ALL_64_95 01738 * @retval None 01739 */ 01740 __STATIC_INLINE void LL_C2_EXTI_DisableEvent_64_95(uint32_t ExtiLine) 01741 { 01742 CLEAR_BIT(EXTI->C2EMR3, ExtiLine); 01743 } 01744 01745 01746 /** 01747 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31 for cpu2 01748 * @rmtoll C2EMR1 EMx LL_C2_EXTI_IsEnabledEvent_0_31 01749 * @param ExtiLine This parameter can be one of the following values: 01750 * @arg @ref LL_EXTI_LINE_0 01751 * @arg @ref LL_EXTI_LINE_1 01752 * @arg @ref LL_EXTI_LINE_2 01753 * @arg @ref LL_EXTI_LINE_3 01754 * @arg @ref LL_EXTI_LINE_4 01755 * @arg @ref LL_EXTI_LINE_5 01756 * @arg @ref LL_EXTI_LINE_6 01757 * @arg @ref LL_EXTI_LINE_7 01758 * @arg @ref LL_EXTI_LINE_8 01759 * @arg @ref LL_EXTI_LINE_9 01760 * @arg @ref LL_EXTI_LINE_10 01761 * @arg @ref LL_EXTI_LINE_11 01762 * @arg @ref LL_EXTI_LINE_12 01763 * @arg @ref LL_EXTI_LINE_13 01764 * @arg @ref LL_EXTI_LINE_14 01765 * @arg @ref LL_EXTI_LINE_15 01766 * @arg @ref LL_EXTI_LINE_16 01767 * @arg @ref LL_EXTI_LINE_17 01768 * @arg @ref LL_EXTI_LINE_18 01769 * @arg @ref LL_EXTI_LINE_19 01770 * @arg @ref LL_EXTI_LINE_20 01771 * @arg @ref LL_EXTI_LINE_21 01772 * @arg @ref LL_EXTI_LINE_22 01773 * @arg @ref LL_EXTI_LINE_23 01774 * @arg @ref LL_EXTI_LINE_24 01775 * @arg @ref LL_EXTI_LINE_25 01776 * @arg @ref LL_EXTI_LINE_26 01777 * @arg @ref LL_EXTI_LINE_27 01778 * @arg @ref LL_EXTI_LINE_28 01779 * @arg @ref LL_EXTI_LINE_29 01780 * @arg @ref LL_EXTI_LINE_30 01781 * @arg @ref LL_EXTI_LINE_31 01782 * @arg @ref LL_EXTI_LINE_ALL_0_31 01783 * @note Please check each device line mapping for EXTI Line availability 01784 * @retval State of bit (1 or 0). 01785 */ 01786 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine) 01787 { 01788 return ((READ_BIT(EXTI->C2EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01789 } 01790 01791 01792 /** 01793 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63 for cpu2 01794 * @rmtoll C2EMR2 EMx LL_C2_EXTI_IsEnabledEvent_32_63 01795 * @param ExtiLine This parameter can be a combination of the following values: 01796 * @arg @ref LL_EXTI_LINE_32 01797 * @arg @ref LL_EXTI_LINE_33 01798 * @arg @ref LL_EXTI_LINE_34 01799 * @arg @ref LL_EXTI_LINE_35 01800 * @arg @ref LL_EXTI_LINE_36 01801 * @arg @ref LL_EXTI_LINE_37 01802 * @arg @ref LL_EXTI_LINE_38 01803 * @arg @ref LL_EXTI_LINE_39 01804 * @arg @ref LL_EXTI_LINE_40 01805 * @arg @ref LL_EXTI_LINE_41 01806 * @arg @ref LL_EXTI_LINE_42 01807 * @arg @ref LL_EXTI_LINE_43 01808 * @arg @ref LL_EXTI_LINE_44 01809 * @arg @ref LL_EXTI_LINE_46 01810 * @arg @ref LL_EXTI_LINE_47 01811 * @arg @ref LL_EXTI_LINE_48 01812 * @arg @ref LL_EXTI_LINE_49 01813 * @arg @ref LL_EXTI_LINE_50 01814 * @arg @ref LL_EXTI_LINE_51 01815 * @arg @ref LL_EXTI_LINE_52 01816 * @arg @ref LL_EXTI_LINE_53 01817 * @arg @ref LL_EXTI_LINE_54 01818 * @arg @ref LL_EXTI_LINE_55 01819 * @arg @ref LL_EXTI_LINE_56 01820 * @arg @ref LL_EXTI_LINE_57 01821 * @arg @ref LL_EXTI_LINE_58 01822 * @arg @ref LL_EXTI_LINE_59 01823 * @arg @ref LL_EXTI_LINE_60 01824 * @arg @ref LL_EXTI_LINE_61 01825 * @arg @ref LL_EXTI_LINE_62 01826 * @arg @ref LL_EXTI_LINE_63 01827 * @arg @ref LL_EXTI_LINE_ALL_32_63 01828 * @retval State of bit (1 or 0). 01829 */ 01830 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine) 01831 { 01832 return ((READ_BIT(EXTI->C2EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01833 } 01834 01835 01836 /** 01837 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 64 to 95 for cpu2 01838 * @rmtoll C2EMR3 EMx LL_C2_EXTI_IsEnabledEvent_64_95 01839 * @param ExtiLine This parameter can be a combination of the following values: 01840 * @arg @ref LL_EXTI_LINE_64 01841 * @arg @ref LL_EXTI_LINE_65 01842 * @arg @ref LL_EXTI_LINE_66 01843 * @arg @ref LL_EXTI_LINE_67 01844 * @arg @ref LL_EXTI_LINE_68 01845 * @arg @ref LL_EXTI_LINE_69 01846 * @arg @ref LL_EXTI_LINE_70 01847 * @arg @ref LL_EXTI_LINE_71 01848 * @arg @ref LL_EXTI_LINE_72 01849 * @arg @ref LL_EXTI_LINE_73 01850 * @arg @ref LL_EXTI_LINE_74 01851 * @arg @ref LL_EXTI_LINE_75 01852 * @arg @ref LL_EXTI_LINE_76 01853 * @arg @ref LL_EXTI_LINE_77 01854 * @arg @ref LL_EXTI_LINE_78 01855 * @arg @ref LL_EXTI_LINE_79 01856 * @arg @ref LL_EXTI_LINE_80 01857 * @arg @ref LL_EXTI_LINE_82 01858 * @arg @ref LL_EXTI_LINE_84 01859 * @arg @ref LL_EXTI_LINE_85 01860 * @arg @ref LL_EXTI_LINE_86 01861 * @arg @ref LL_EXTI_LINE_87 01862 * @arg @ref LL_EXTI_LINE_ALL_64_95 01863 * @retval State of bit (1 or 0). 01864 */ 01865 __STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine) 01866 { 01867 return ((READ_BIT(EXTI->C2EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 01868 } 01869 01870 01871 #endif /* DUAL_CORE */ 01872 01873 /** 01874 * @} 01875 */ 01876 01877 /** @defgroup EXTI_LL_EF_Rising_Trigger_Management Rising_Trigger_Management 01878 * @{ 01879 */ 01880 01881 /** 01882 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31 01883 * @note The configurable wakeup lines are edge-triggered. No glitch must be 01884 * generated on these lines. If a rising edge on a configurable interrupt 01885 * line occurs during a write operation in the EXTI_RTSR register, the 01886 * pending bit is not set. 01887 * Rising and falling edge triggers can be set for 01888 * the same interrupt line. In this case, both generate a trigger 01889 * condition. 01890 * @rmtoll RTSR1 RTx LL_EXTI_EnableRisingTrig_0_31 01891 * @param ExtiLine This parameter can be a combination of the following values: 01892 * @arg @ref LL_EXTI_LINE_0 01893 * @arg @ref LL_EXTI_LINE_1 01894 * @arg @ref LL_EXTI_LINE_2 01895 * @arg @ref LL_EXTI_LINE_3 01896 * @arg @ref LL_EXTI_LINE_4 01897 * @arg @ref LL_EXTI_LINE_5 01898 * @arg @ref LL_EXTI_LINE_6 01899 * @arg @ref LL_EXTI_LINE_7 01900 * @arg @ref LL_EXTI_LINE_8 01901 * @arg @ref LL_EXTI_LINE_9 01902 * @arg @ref LL_EXTI_LINE_10 01903 * @arg @ref LL_EXTI_LINE_11 01904 * @arg @ref LL_EXTI_LINE_12 01905 * @arg @ref LL_EXTI_LINE_13 01906 * @arg @ref LL_EXTI_LINE_14 01907 * @arg @ref LL_EXTI_LINE_15 01908 * @arg @ref LL_EXTI_LINE_16 01909 * @arg @ref LL_EXTI_LINE_17 01910 * @arg @ref LL_EXTI_LINE_18 01911 * @arg @ref LL_EXTI_LINE_19 01912 * @arg @ref LL_EXTI_LINE_20 01913 * @arg @ref LL_EXTI_LINE_21 01914 * @retval None 01915 */ 01916 __STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine) 01917 { 01918 SET_BIT(EXTI->RTSR1, ExtiLine); 01919 01920 } 01921 01922 /** 01923 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 32 to 63 01924 * @note The configurable wakeup lines are edge-triggered. No glitch must be 01925 * generated on these lines. If a rising edge on a configurable interrupt 01926 * line occurs during a write operation in the EXTI_RTSR register, the 01927 * pending bit is not set.Rising and falling edge triggers can be set for 01928 * the same interrupt line. In this case, both generate a trigger 01929 * condition. 01930 * @rmtoll RTSR2 RTx LL_EXTI_EnableRisingTrig_32_63 01931 * @param ExtiLine This parameter can be a combination of the following values: 01932 * @arg @ref LL_EXTI_LINE_49 01933 * @arg @ref LL_EXTI_LINE_51 01934 * @retval None 01935 */ 01936 __STATIC_INLINE void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine) 01937 { 01938 SET_BIT(EXTI->RTSR2, ExtiLine); 01939 } 01940 01941 /** 01942 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 64 to 95 01943 * @note The configurable wakeup lines are edge-triggered. No glitch must be 01944 * generated on these lines. If a rising edge on a configurable interrupt 01945 * line occurs during a write operation in the EXTI_RTSR register, the 01946 * pending bit is not set.Rising and falling edge triggers can be set for 01947 * the same interrupt line. In this case, both generate a trigger 01948 * condition. 01949 * @rmtoll RTSR3 RTx LL_EXTI_EnableRisingTrig_64_95 01950 * @param ExtiLine This parameter can be a combination of the following values: 01951 * @arg @ref LL_EXTI_LINE_82 (*) 01952 * @arg @ref LL_EXTI_LINE_84 (*) 01953 * @arg @ref LL_EXTI_LINE_85 01954 * @arg @ref LL_EXTI_LINE_86 (**) 01955 * 01956 * (*) value only defined in dual core devices. 01957 * (**) value not defined in all devices. 01958 * @retval None 01959 */ 01960 __STATIC_INLINE void LL_EXTI_EnableRisingTrig_64_95(uint32_t ExtiLine) 01961 { 01962 SET_BIT(EXTI->RTSR3, ExtiLine); 01963 } 01964 01965 /** 01966 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 0 to 31 01967 * @note The configurable wakeup lines are edge-triggered. No glitch must be 01968 * generated on these lines. If a rising edge on a configurable interrupt 01969 * line occurs during a write operation in the EXTI_RTSR register, the 01970 * pending bit is not set. 01971 * Rising and falling edge triggers can be set for 01972 * the same interrupt line. In this case, both generate a trigger 01973 * condition. 01974 * @rmtoll RTSR1 RTx LL_EXTI_DisableRisingTrig_0_31 01975 * @param ExtiLine This parameter can be a combination of the following values: 01976 * @arg @ref LL_EXTI_LINE_0 01977 * @arg @ref LL_EXTI_LINE_1 01978 * @arg @ref LL_EXTI_LINE_2 01979 * @arg @ref LL_EXTI_LINE_3 01980 * @arg @ref LL_EXTI_LINE_4 01981 * @arg @ref LL_EXTI_LINE_5 01982 * @arg @ref LL_EXTI_LINE_6 01983 * @arg @ref LL_EXTI_LINE_7 01984 * @arg @ref LL_EXTI_LINE_8 01985 * @arg @ref LL_EXTI_LINE_9 01986 * @arg @ref LL_EXTI_LINE_10 01987 * @arg @ref LL_EXTI_LINE_11 01988 * @arg @ref LL_EXTI_LINE_12 01989 * @arg @ref LL_EXTI_LINE_13 01990 * @arg @ref LL_EXTI_LINE_14 01991 * @arg @ref LL_EXTI_LINE_15 01992 * @arg @ref LL_EXTI_LINE_16 01993 * @arg @ref LL_EXTI_LINE_17 01994 * @arg @ref LL_EXTI_LINE_18 01995 * @arg @ref LL_EXTI_LINE_19 01996 * @arg @ref LL_EXTI_LINE_20 01997 * @arg @ref LL_EXTI_LINE_21 01998 * @retval None 01999 */ 02000 __STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine) 02001 { 02002 CLEAR_BIT(EXTI->RTSR1, ExtiLine); 02003 02004 } 02005 02006 /** 02007 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 32 to 63 02008 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02009 * generated on these lines. If a rising edge on a configurable interrupt 02010 * line occurs during a write operation in the EXTI_RTSR register, the 02011 * pending bit is not set. 02012 * Rising and falling edge triggers can be set for 02013 * the same interrupt line. In this case, both generate a trigger 02014 * condition. 02015 * @rmtoll RTSR2 RTx LL_EXTI_DisableRisingTrig_32_63 02016 * @param ExtiLine This parameter can be a combination of the following values: 02017 * @arg @ref LL_EXTI_LINE_49 02018 * @arg @ref LL_EXTI_LINE_51 02019 * @retval None 02020 */ 02021 __STATIC_INLINE void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine) 02022 { 02023 CLEAR_BIT(EXTI->RTSR2, ExtiLine); 02024 } 02025 02026 /** 02027 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 64 to 95 02028 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02029 * generated on these lines. If a rising edge on a configurable interrupt 02030 * line occurs during a write operation in the EXTI_RTSR register, the 02031 * pending bit is not set. 02032 * Rising and falling edge triggers can be set for 02033 * the same interrupt line. In this case, both generate a trigger 02034 * condition. 02035 * @rmtoll RTSR3 RTx LL_EXTI_DisableRisingTrig_64_95 02036 * @param ExtiLine This parameter can be a combination of the following values: 02037 * @arg @ref LL_EXTI_LINE_82 (*) 02038 * @arg @ref LL_EXTI_LINE_84 (*) 02039 * @arg @ref LL_EXTI_LINE_85 02040 * @arg @ref LL_EXTI_LINE_86 (**) 02041 * 02042 * (*) value only defined in dual core devices. 02043 * (**) value not defined in all devices. 02044 * @retval None 02045 */ 02046 __STATIC_INLINE void LL_EXTI_DisableRisingTrig_64_95(uint32_t ExtiLine) 02047 { 02048 CLEAR_BIT(EXTI->RTSR3, ExtiLine); 02049 } 02050 02051 /** 02052 * @brief Check if rising edge trigger is enabled for Lines in range 0 to 31 02053 * @rmtoll RTSR1 RTx LL_EXTI_IsEnabledRisingTrig_0_31 02054 * @param ExtiLine This parameter can be a combination of the following values: 02055 * @arg @ref LL_EXTI_LINE_0 02056 * @arg @ref LL_EXTI_LINE_1 02057 * @arg @ref LL_EXTI_LINE_2 02058 * @arg @ref LL_EXTI_LINE_3 02059 * @arg @ref LL_EXTI_LINE_4 02060 * @arg @ref LL_EXTI_LINE_5 02061 * @arg @ref LL_EXTI_LINE_6 02062 * @arg @ref LL_EXTI_LINE_7 02063 * @arg @ref LL_EXTI_LINE_8 02064 * @arg @ref LL_EXTI_LINE_9 02065 * @arg @ref LL_EXTI_LINE_10 02066 * @arg @ref LL_EXTI_LINE_11 02067 * @arg @ref LL_EXTI_LINE_12 02068 * @arg @ref LL_EXTI_LINE_13 02069 * @arg @ref LL_EXTI_LINE_14 02070 * @arg @ref LL_EXTI_LINE_15 02071 * @arg @ref LL_EXTI_LINE_16 02072 * @arg @ref LL_EXTI_LINE_17 02073 * @arg @ref LL_EXTI_LINE_18 02074 * @arg @ref LL_EXTI_LINE_19 02075 * @arg @ref LL_EXTI_LINE_20 02076 * @arg @ref LL_EXTI_LINE_21 02077 * @retval State of bit (1 or 0). 02078 */ 02079 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine) 02080 { 02081 return ((READ_BIT(EXTI->RTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02082 } 02083 02084 02085 /** 02086 * @brief Check if rising edge trigger is enabled for Lines in range 32 to 63 02087 * @rmtoll RTSR2 RTx LL_EXTI_IsEnabledRisingTrig_32_63 02088 * @param ExtiLine This parameter can be a combination of the following values: 02089 * @arg @ref LL_EXTI_LINE_49 02090 * @arg @ref LL_EXTI_LINE_51 02091 * @retval State of bit (1 or 0). 02092 */ 02093 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine) 02094 { 02095 return ((READ_BIT(EXTI->RTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02096 } 02097 02098 /** 02099 * @brief Check if rising edge trigger is enabled for Lines in range 64 to 95 02100 * @rmtoll RTSR3 RTx LL_EXTI_IsEnabledRisingTrig_64_95 02101 * @param ExtiLine This parameter can be a combination of the following values: 02102 * @arg @ref LL_EXTI_LINE_82 (*) 02103 * @arg @ref LL_EXTI_LINE_84 (*) 02104 * @arg @ref LL_EXTI_LINE_85 02105 * @arg @ref LL_EXTI_LINE_86 (**) 02106 * 02107 * (*) value only defined in dual core devices. 02108 * (**) value not defined in all devices. 02109 * @retval State of bit (1 or 0). 02110 */ 02111 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_64_95(uint32_t ExtiLine) 02112 { 02113 return ((READ_BIT(EXTI->RTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02114 } 02115 02116 /** 02117 * @} 02118 */ 02119 02120 /** @defgroup EXTI_LL_EF_Falling_Trigger_Management Falling_Trigger_Management 02121 * @{ 02122 */ 02123 02124 /** 02125 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 0 to 31 02126 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02127 * generated on these lines. If a falling edge on a configurable interrupt 02128 * line occurs during a write operation in the EXTI_FTSR register, the 02129 * pending bit is not set. 02130 * Rising and falling edge triggers can be set for 02131 * the same interrupt line. In this case, both generate a trigger 02132 * condition. 02133 * @rmtoll FTSR1 FTx LL_EXTI_EnableFallingTrig_0_31 02134 * @param ExtiLine This parameter can be a combination of the following values: 02135 * @arg @ref LL_EXTI_LINE_0 02136 * @arg @ref LL_EXTI_LINE_1 02137 * @arg @ref LL_EXTI_LINE_2 02138 * @arg @ref LL_EXTI_LINE_3 02139 * @arg @ref LL_EXTI_LINE_4 02140 * @arg @ref LL_EXTI_LINE_5 02141 * @arg @ref LL_EXTI_LINE_6 02142 * @arg @ref LL_EXTI_LINE_7 02143 * @arg @ref LL_EXTI_LINE_8 02144 * @arg @ref LL_EXTI_LINE_9 02145 * @arg @ref LL_EXTI_LINE_10 02146 * @arg @ref LL_EXTI_LINE_11 02147 * @arg @ref LL_EXTI_LINE_12 02148 * @arg @ref LL_EXTI_LINE_13 02149 * @arg @ref LL_EXTI_LINE_14 02150 * @arg @ref LL_EXTI_LINE_15 02151 * @arg @ref LL_EXTI_LINE_16 02152 * @arg @ref LL_EXTI_LINE_18 02153 * @arg @ref LL_EXTI_LINE_19 02154 * @arg @ref LL_EXTI_LINE_20 02155 * @arg @ref LL_EXTI_LINE_21 02156 * @note Please check each device line mapping for EXTI Line availability 02157 * @retval None 02158 */ 02159 __STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine) 02160 { 02161 SET_BIT(EXTI->FTSR1, ExtiLine); 02162 } 02163 02164 /** 02165 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 32 to 63 02166 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02167 * generated on these lines. If a Falling edge on a configurable interrupt 02168 * line occurs during a write operation in the EXTI_FTSR register, the 02169 * pending bit is not set. 02170 * Rising and falling edge triggers can be set for 02171 * the same interrupt line. In this case, both generate a trigger 02172 * condition. 02173 * @rmtoll FTSR2 FTx LL_EXTI_EnableFallingTrig_32_63 02174 * @param ExtiLine This parameter can be a combination of the following values: 02175 * @arg @ref LL_EXTI_LINE_49 02176 * @arg @ref LL_EXTI_LINE_51 02177 * @retval None 02178 */ 02179 __STATIC_INLINE void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine) 02180 { 02181 SET_BIT(EXTI->FTSR2, ExtiLine); 02182 } 02183 02184 /** 02185 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 64 to 95 02186 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02187 * generated on these lines. If a Falling edge on a configurable interrupt 02188 * line occurs during a write operation in the EXTI_FTSR register, the 02189 * pending bit is not set. 02190 * Rising and falling edge triggers can be set for 02191 * the same interrupt line. In this case, both generate a trigger 02192 * condition. 02193 * @rmtoll FTSR3 FTx LL_EXTI_EnableFallingTrig_64_95 02194 * @param ExtiLine This parameter can be a combination of the following values: 02195 * @arg @ref LL_EXTI_LINE_82 (*) 02196 * @arg @ref LL_EXTI_LINE_84 (*) 02197 * @arg @ref LL_EXTI_LINE_85 02198 * @arg @ref LL_EXTI_LINE_86 (**) 02199 * 02200 * (*) value only defined in dual core devices. 02201 * (**) value not defined in all devices. 02202 * @retval None 02203 */ 02204 __STATIC_INLINE void LL_EXTI_EnableFallingTrig_64_95(uint32_t ExtiLine) 02205 { 02206 SET_BIT(EXTI->FTSR3, ExtiLine); 02207 } 02208 02209 02210 /** 02211 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 0 to 31 02212 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02213 * generated on these lines. If a Falling edge on a configurable interrupt 02214 * line occurs during a write operation in the EXTI_FTSR register, the 02215 * pending bit is not set. 02216 * Rising and falling edge triggers can be set for the same interrupt line. 02217 * In this case, both generate a trigger condition. 02218 * @rmtoll FTSR1 FTx LL_EXTI_DisableFallingTrig_0_31 02219 * @param ExtiLine This parameter can be a combination of the following values: 02220 * @arg @ref LL_EXTI_LINE_0 02221 * @arg @ref LL_EXTI_LINE_1 02222 * @arg @ref LL_EXTI_LINE_2 02223 * @arg @ref LL_EXTI_LINE_3 02224 * @arg @ref LL_EXTI_LINE_4 02225 * @arg @ref LL_EXTI_LINE_5 02226 * @arg @ref LL_EXTI_LINE_6 02227 * @arg @ref LL_EXTI_LINE_7 02228 * @arg @ref LL_EXTI_LINE_8 02229 * @arg @ref LL_EXTI_LINE_9 02230 * @arg @ref LL_EXTI_LINE_10 02231 * @arg @ref LL_EXTI_LINE_11 02232 * @arg @ref LL_EXTI_LINE_12 02233 * @arg @ref LL_EXTI_LINE_13 02234 * @arg @ref LL_EXTI_LINE_14 02235 * @arg @ref LL_EXTI_LINE_15 02236 * @arg @ref LL_EXTI_LINE_16 02237 * @arg @ref LL_EXTI_LINE_18 02238 * @arg @ref LL_EXTI_LINE_19 02239 * @arg @ref LL_EXTI_LINE_20 02240 * @arg @ref LL_EXTI_LINE_21 02241 * @note Please check each device line mapping for EXTI Line availability 02242 * @retval None 02243 */ 02244 __STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine) 02245 { 02246 CLEAR_BIT(EXTI->FTSR1, ExtiLine); 02247 } 02248 02249 /** 02250 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 32 to 63 02251 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02252 * generated on these lines. If a Falling edge on a configurable interrupt 02253 * line occurs during a write operation in the EXTI_FTSR register, the 02254 * pending bit is not set. 02255 * Rising and falling edge triggers can be set for the same interrupt line. 02256 * In this case, both generate a trigger condition. 02257 * @rmtoll FTSR2 FTx LL_EXTI_DisableFallingTrig_32_63 02258 * @param ExtiLine This parameter can be a combination of the following values: 02259 * @arg @ref LL_EXTI_LINE_49 02260 * @arg @ref LL_EXTI_LINE_51 02261 * @retval None 02262 */ 02263 __STATIC_INLINE void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine) 02264 { 02265 CLEAR_BIT(EXTI->FTSR2, ExtiLine); 02266 } 02267 02268 /** 02269 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 64 to 95 02270 * @note The configurable wakeup lines are edge-triggered. No glitch must be 02271 * generated on these lines. If a Falling edge on a configurable interrupt 02272 * line occurs during a write operation in the EXTI_FTSR register, the 02273 * pending bit is not set. 02274 * Rising and falling edge triggers can be set for the same interrupt line. 02275 * In this case, both generate a trigger condition. 02276 * @rmtoll FTSR3 FTx LL_EXTI_DisableFallingTrig_64_95 02277 * @param ExtiLine This parameter can be a combination of the following values: 02278 * @arg @ref LL_EXTI_LINE_82 (*) 02279 * @arg @ref LL_EXTI_LINE_84 (*) 02280 * @arg @ref LL_EXTI_LINE_85 02281 * @arg @ref LL_EXTI_LINE_86 (**) 02282 * 02283 * (*) value only defined in dual core devices. 02284 * (**) value not defined in all devices. 02285 * @retval None 02286 */ 02287 __STATIC_INLINE void LL_EXTI_DisableFallingTrig_64_95(uint32_t ExtiLine) 02288 { 02289 CLEAR_BIT(EXTI->FTSR3, ExtiLine); 02290 } 02291 02292 02293 /** 02294 * @brief Check if falling edge trigger is enabled for Lines in range 0 to 31 02295 * @rmtoll FTSR1 FTx LL_EXTI_IsEnabledFallingTrig_0_31 02296 * @param ExtiLine This parameter can be a combination of the following values: 02297 * @arg @ref LL_EXTI_LINE_0 02298 * @arg @ref LL_EXTI_LINE_1 02299 * @arg @ref LL_EXTI_LINE_2 02300 * @arg @ref LL_EXTI_LINE_3 02301 * @arg @ref LL_EXTI_LINE_4 02302 * @arg @ref LL_EXTI_LINE_5 02303 * @arg @ref LL_EXTI_LINE_6 02304 * @arg @ref LL_EXTI_LINE_7 02305 * @arg @ref LL_EXTI_LINE_8 02306 * @arg @ref LL_EXTI_LINE_9 02307 * @arg @ref LL_EXTI_LINE_10 02308 * @arg @ref LL_EXTI_LINE_11 02309 * @arg @ref LL_EXTI_LINE_12 02310 * @arg @ref LL_EXTI_LINE_13 02311 * @arg @ref LL_EXTI_LINE_14 02312 * @arg @ref LL_EXTI_LINE_15 02313 * @arg @ref LL_EXTI_LINE_16 02314 * @arg @ref LL_EXTI_LINE_18 02315 * @arg @ref LL_EXTI_LINE_19 02316 * @arg @ref LL_EXTI_LINE_20 02317 * @arg @ref LL_EXTI_LINE_21 02318 * @note Please check each device line mapping for EXTI Line availability 02319 * @retval State of bit (1 or 0). 02320 */ 02321 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine) 02322 { 02323 return ((READ_BIT(EXTI->FTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02324 } 02325 02326 /** 02327 * @brief Check if falling edge trigger is enabled for Lines in range 32 to 63 02328 * @rmtoll FTSR2 FTx LL_EXTI_IsEnabledFallingTrig_32_63 02329 * @param ExtiLine This parameter can be a combination of the following values: 02330 * @arg @ref LL_EXTI_LINE_49 02331 * @arg @ref LL_EXTI_LINE_51 02332 * @retval State of bit (1 or 0). 02333 */ 02334 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine) 02335 { 02336 return ((READ_BIT(EXTI->FTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02337 } 02338 02339 /** 02340 * @brief Check if falling edge trigger is enabled for Lines in range 64 to 95 02341 * @rmtoll FTSR3 FTx LL_EXTI_IsEnabledFallingTrig_64_95 02342 * @param ExtiLine This parameter can be a combination of the following values: 02343 * @arg @ref LL_EXTI_LINE_82 (*) 02344 * @arg @ref LL_EXTI_LINE_84 (*) 02345 * @arg @ref LL_EXTI_LINE_85 02346 * @arg @ref LL_EXTI_LINE_86 (**) 02347 * 02348 * (*) value only defined in dual core devices. 02349 * (**) value not defined in all devices. 02350 * @retval State of bit (1 or 0). 02351 */ 02352 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_64_95(uint32_t ExtiLine) 02353 { 02354 return ((READ_BIT(EXTI->FTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02355 } 02356 02357 02358 /** 02359 * @} 02360 */ 02361 02362 /** @defgroup EXTI_LL_EF_Software_Interrupt_Management Software_Interrupt_Management 02363 * @{ 02364 */ 02365 02366 /** 02367 * @brief Generate a software Interrupt Event for Lines in range 0 to 31 02368 * @note If the interrupt is enabled on this line in the EXTI_C1IMR1, writing a 1 to 02369 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR1 02370 * resulting in an interrupt request generation. 02371 * This bit is cleared by clearing the corresponding bit in the EXTI_PR1 02372 * register (by writing a 1 into the bit) 02373 * @rmtoll SWIER1 SWIx LL_EXTI_GenerateSWI_0_31 02374 * @param ExtiLine This parameter can be a combination of the following values: 02375 * @arg @ref LL_EXTI_LINE_0 02376 * @arg @ref LL_EXTI_LINE_1 02377 * @arg @ref LL_EXTI_LINE_2 02378 * @arg @ref LL_EXTI_LINE_3 02379 * @arg @ref LL_EXTI_LINE_4 02380 * @arg @ref LL_EXTI_LINE_5 02381 * @arg @ref LL_EXTI_LINE_6 02382 * @arg @ref LL_EXTI_LINE_7 02383 * @arg @ref LL_EXTI_LINE_8 02384 * @arg @ref LL_EXTI_LINE_9 02385 * @arg @ref LL_EXTI_LINE_10 02386 * @arg @ref LL_EXTI_LINE_11 02387 * @arg @ref LL_EXTI_LINE_12 02388 * @arg @ref LL_EXTI_LINE_13 02389 * @arg @ref LL_EXTI_LINE_14 02390 * @arg @ref LL_EXTI_LINE_15 02391 * @arg @ref LL_EXTI_LINE_16 02392 * @arg @ref LL_EXTI_LINE_18 02393 * @arg @ref LL_EXTI_LINE_19 02394 * @arg @ref LL_EXTI_LINE_20 02395 * @arg @ref LL_EXTI_LINE_21 02396 * @note Please check each device line mapping for EXTI Line availability 02397 * @retval None 02398 */ 02399 __STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine) 02400 { 02401 SET_BIT(EXTI->SWIER1, ExtiLine); 02402 } 02403 02404 /** 02405 * @brief Generate a software Interrupt Event for Lines in range 32 to 63 02406 * @note If the interrupt is enabled on this line in the EXTI_IMR2, writing a 1 to 02407 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR2 02408 * resulting in an interrupt request generation. 02409 * This bit is cleared by clearing the corresponding bit in the EXTI_PR2 02410 * register (by writing a 1 into the bit) 02411 * @rmtoll SWIER2 SWIx LL_EXTI_GenerateSWI_32_63 02412 * @param ExtiLine This parameter can be a combination of the following values: 02413 * @arg @ref LL_EXTI_LINE_49 02414 * @arg @ref LL_EXTI_LINE_51 02415 * @retval None 02416 */ 02417 __STATIC_INLINE void LL_EXTI_GenerateSWI_32_63(uint32_t ExtiLine) 02418 { 02419 SET_BIT(EXTI->SWIER2, ExtiLine); 02420 } 02421 02422 /** 02423 * @brief Generate a software Interrupt Event for Lines in range 64 to 95 02424 * @note If the interrupt is enabled on this line in the EXTI_IMR2, writing a 1 to 02425 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR2 02426 * resulting in an interrupt request generation. 02427 * This bit is cleared by clearing the corresponding bit in the EXTI_PR3 02428 * register (by writing a 1 into the bit) 02429 * @rmtoll SWIER3 SWIx LL_EXTI_GenerateSWI_64_95 02430 * @param ExtiLine This parameter can be a combination of the following values: 02431 * @arg @ref LL_EXTI_LINE_82 (*) 02432 * @arg @ref LL_EXTI_LINE_84 (*) 02433 * @arg @ref LL_EXTI_LINE_85 02434 * @arg @ref LL_EXTI_LINE_86 (**) 02435 * 02436 * (*) value only defined in dual core devices. 02437 * (**) value not defined in all devices. 02438 * @retval None 02439 */ 02440 __STATIC_INLINE void LL_EXTI_GenerateSWI_64_95(uint32_t ExtiLine) 02441 { 02442 SET_BIT(EXTI->SWIER3, ExtiLine); 02443 } 02444 02445 02446 /** 02447 * @} 02448 */ 02449 02450 /** @defgroup EXTI_LL_EF_Flag_Management Flag_Management 02451 * @{ 02452 */ 02453 02454 /** 02455 * @brief Check if the ExtLine Flag is set or not for Lines in range 0 to 31 02456 * @note This bit is set when the selected edge event arrives on the interrupt 02457 * line. This bit is cleared by writing a 1 to the bit. 02458 * @rmtoll PR1 PIFx LL_EXTI_IsActiveFlag_0_31 02459 * @param ExtiLine This parameter can be a combination of the following values: 02460 * @arg @ref LL_EXTI_LINE_0 02461 * @arg @ref LL_EXTI_LINE_1 02462 * @arg @ref LL_EXTI_LINE_2 02463 * @arg @ref LL_EXTI_LINE_3 02464 * @arg @ref LL_EXTI_LINE_4 02465 * @arg @ref LL_EXTI_LINE_5 02466 * @arg @ref LL_EXTI_LINE_6 02467 * @arg @ref LL_EXTI_LINE_7 02468 * @arg @ref LL_EXTI_LINE_8 02469 * @arg @ref LL_EXTI_LINE_9 02470 * @arg @ref LL_EXTI_LINE_10 02471 * @arg @ref LL_EXTI_LINE_11 02472 * @arg @ref LL_EXTI_LINE_12 02473 * @arg @ref LL_EXTI_LINE_13 02474 * @arg @ref LL_EXTI_LINE_14 02475 * @arg @ref LL_EXTI_LINE_15 02476 * @arg @ref LL_EXTI_LINE_16 02477 * @arg @ref LL_EXTI_LINE_17 02478 * @arg @ref LL_EXTI_LINE_18 02479 * @arg @ref LL_EXTI_LINE_19 02480 * @arg @ref LL_EXTI_LINE_20 02481 * @arg @ref LL_EXTI_LINE_21 02482 * @arg @ref LL_EXTI_LINE_ALL_0_31 02483 * @retval State of bit (1 or 0). 02484 */ 02485 __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine) 02486 { 02487 return ((READ_BIT(EXTI->PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02488 } 02489 02490 /** 02491 * @brief Check if the ExtLine Flag is set or not for Lines in range 32 to 63 02492 * @note This bit is set when the selected edge event arrives on the interrupt 02493 * line. This bit is cleared by writing a 1 to the bit. 02494 * @rmtoll PR2 PIFx LL_EXTI_IsActiveFlag_32_63 02495 * @param ExtiLine This parameter can be a combination of the following values: 02496 * @arg @ref LL_EXTI_LINE_49 02497 * @arg @ref LL_EXTI_LINE_51 02498 * @arg @ref LL_EXTI_LINE_ALL_32_63 02499 * @retval State of bit (1 or 0). 02500 */ 02501 __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine) 02502 { 02503 return ((READ_BIT(EXTI->PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02504 } 02505 02506 /** 02507 * @brief Check if the ExtLine Flag is set or not for Lines in range 64 to 95 02508 * @note This bit is set when the selected edge event arrives on the interrupt 02509 * line. This bit is cleared by writing a 1 to the bit. 02510 * @rmtoll PR3 PIFx LL_EXTI_IsActiveFlag_64_95 02511 * @param ExtiLine This parameter can be a combination of the following values: 02512 * @arg @ref LL_EXTI_LINE_82 (*) 02513 * @arg @ref LL_EXTI_LINE_84 (*) 02514 * @arg @ref LL_EXTI_LINE_85 02515 * @arg @ref LL_EXTI_LINE_86 (**) 02516 * 02517 * (*) value only defined in dual core devices. 02518 * (**) value not defined in all devices. 02519 * @retval State of bit (1 or 0). 02520 */ 02521 __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine) 02522 { 02523 return ((READ_BIT(EXTI->PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02524 } 02525 02526 02527 /** 02528 * @brief Read ExtLine Combination Flag for Lines in range 0 to 31 02529 * @note This bit is set when the selected edge event arrives on the interrupt 02530 * line. This bit is cleared by writing a 1 to the bit. 02531 * @rmtoll PR1 PIFx LL_EXTI_ReadFlag_0_31 02532 * @param ExtiLine This parameter can be a combination of the following values: 02533 * @arg @ref LL_EXTI_LINE_0 02534 * @arg @ref LL_EXTI_LINE_1 02535 * @arg @ref LL_EXTI_LINE_2 02536 * @arg @ref LL_EXTI_LINE_3 02537 * @arg @ref LL_EXTI_LINE_4 02538 * @arg @ref LL_EXTI_LINE_5 02539 * @arg @ref LL_EXTI_LINE_6 02540 * @arg @ref LL_EXTI_LINE_7 02541 * @arg @ref LL_EXTI_LINE_8 02542 * @arg @ref LL_EXTI_LINE_9 02543 * @arg @ref LL_EXTI_LINE_10 02544 * @arg @ref LL_EXTI_LINE_11 02545 * @arg @ref LL_EXTI_LINE_12 02546 * @arg @ref LL_EXTI_LINE_13 02547 * @arg @ref LL_EXTI_LINE_14 02548 * @arg @ref LL_EXTI_LINE_15 02549 * @arg @ref LL_EXTI_LINE_16 02550 * @arg @ref LL_EXTI_LINE_17 02551 * @arg @ref LL_EXTI_LINE_18 02552 * @arg @ref LL_EXTI_LINE_19 02553 * @arg @ref LL_EXTI_LINE_20 02554 * @arg @ref LL_EXTI_LINE_21 02555 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02556 */ 02557 __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine) 02558 { 02559 return (uint32_t)(READ_BIT(EXTI->PR1, ExtiLine)); 02560 } 02561 02562 02563 /** 02564 * @brief Read ExtLine Combination Flag for Lines in range 32 to 63 02565 * @note This bit is set when the selected edge event arrives on the interrupt 02566 * line. This bit is cleared by writing a 1 to the bit. 02567 * @rmtoll PR2 PIFx LL_EXTI_ReadFlag_32_63 02568 * @param ExtiLine This parameter can be a combination of the following values: 02569 * @arg @ref LL_EXTI_LINE_49 02570 * @arg @ref LL_EXTI_LINE_51 02571 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02572 */ 02573 __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_32_63(uint32_t ExtiLine) 02574 { 02575 return (uint32_t)(READ_BIT(EXTI->PR2, ExtiLine)); 02576 } 02577 02578 02579 /** 02580 * @brief Read ExtLine Combination Flag for Lines in range 64 to 95 02581 * @note This bit is set when the selected edge event arrives on the interrupt 02582 * line. This bit is cleared by writing a 1 to the bit. 02583 * @rmtoll PR3 PIFx LL_EXTI_ReadFlag_64_95 02584 * @param ExtiLine This parameter can be a combination of the following values: 02585 * @arg @ref LL_EXTI_LINE_82 (*) 02586 * @arg @ref LL_EXTI_LINE_84 (*) 02587 * @arg @ref LL_EXTI_LINE_85 02588 * @arg @ref LL_EXTI_LINE_86 (**) 02589 * 02590 * (*) value only defined in dual core devices. 02591 * (**) value not defined in all devices. 02592 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02593 */ 02594 __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_64_95(uint32_t ExtiLine) 02595 { 02596 return (uint32_t)(READ_BIT(EXTI->PR3, ExtiLine)); 02597 } 02598 02599 /** 02600 * @brief Clear ExtLine Flags for Lines in range 0 to 31 02601 * @note This bit is set when the selected edge event arrives on the interrupt 02602 * line. This bit is cleared by writing a 1 to the bit. 02603 * @rmtoll PR1 PIFx LL_EXTI_ClearFlag_0_31 02604 * @param ExtiLine This parameter can be a combination of the following values: 02605 * @arg @ref LL_EXTI_LINE_0 02606 * @arg @ref LL_EXTI_LINE_1 02607 * @arg @ref LL_EXTI_LINE_2 02608 * @arg @ref LL_EXTI_LINE_3 02609 * @arg @ref LL_EXTI_LINE_4 02610 * @arg @ref LL_EXTI_LINE_5 02611 * @arg @ref LL_EXTI_LINE_6 02612 * @arg @ref LL_EXTI_LINE_7 02613 * @arg @ref LL_EXTI_LINE_8 02614 * @arg @ref LL_EXTI_LINE_9 02615 * @arg @ref LL_EXTI_LINE_10 02616 * @arg @ref LL_EXTI_LINE_11 02617 * @arg @ref LL_EXTI_LINE_12 02618 * @arg @ref LL_EXTI_LINE_13 02619 * @arg @ref LL_EXTI_LINE_14 02620 * @arg @ref LL_EXTI_LINE_15 02621 * @arg @ref LL_EXTI_LINE_16 02622 * @arg @ref LL_EXTI_LINE_17 02623 * @arg @ref LL_EXTI_LINE_18 02624 * @arg @ref LL_EXTI_LINE_19 02625 * @arg @ref LL_EXTI_LINE_20 02626 * @arg @ref LL_EXTI_LINE_21 02627 * @retval None 02628 */ 02629 __STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine) 02630 { 02631 WRITE_REG(EXTI->PR1, ExtiLine); 02632 } 02633 02634 /** 02635 * @brief Clear ExtLine Flags for Lines in range 32 to 63 02636 * @note This bit is set when the selected edge event arrives on the interrupt 02637 * line. This bit is cleared by writing a 1 to the bit. 02638 * @rmtoll PR2 PIFx LL_EXTI_ClearFlag_32_63 02639 * @param ExtiLine This parameter can be a combination of the following values: 02640 * @arg @ref LL_EXTI_LINE_49 02641 * @arg @ref LL_EXTI_LINE_51 02642 * @retval None 02643 */ 02644 __STATIC_INLINE void LL_EXTI_ClearFlag_32_63(uint32_t ExtiLine) 02645 { 02646 WRITE_REG(EXTI->PR2, ExtiLine); 02647 } 02648 02649 /** 02650 * @brief Clear ExtLine Flags for Lines in range 64 to 95 02651 * @note This bit is set when the selected edge event arrives on the interrupt 02652 * line. This bit is cleared by writing a 1 to the bit. 02653 * @rmtoll PR3 PIFx LL_EXTI_ClearFlag_64_95 02654 * @param ExtiLine This parameter can be a combination of the following values: 02655 * @arg @ref LL_EXTI_LINE_82 (*) 02656 * @arg @ref LL_EXTI_LINE_84 (*) 02657 * @arg @ref LL_EXTI_LINE_85 02658 * @arg @ref LL_EXTI_LINE_86 (**) 02659 * 02660 * (*) value only defined in dual core devices. 02661 * (**) value not defined in all devices. 02662 * @retval None 02663 */ 02664 __STATIC_INLINE void LL_EXTI_ClearFlag_64_95(uint32_t ExtiLine) 02665 { 02666 WRITE_REG(EXTI->PR3, ExtiLine); 02667 } 02668 02669 #if defined(DUAL_CORE) 02670 02671 /** 02672 * @brief Check if the ExtLine Flag is set or not for Lines in range 0 to 31 for cpu2 02673 * @note This bit is set when the selected edge event arrives on the interrupt 02674 * line. This bit is cleared by writing a 1 to the bit. 02675 * @rmtoll C2PR1 PIFx LL_C2_EXTI_IsActiveFlag_0_31 02676 * @param ExtiLine This parameter can be a combination of the following values: 02677 * @arg @ref LL_EXTI_LINE_0 02678 * @arg @ref LL_EXTI_LINE_1 02679 * @arg @ref LL_EXTI_LINE_2 02680 * @arg @ref LL_EXTI_LINE_3 02681 * @arg @ref LL_EXTI_LINE_4 02682 * @arg @ref LL_EXTI_LINE_5 02683 * @arg @ref LL_EXTI_LINE_6 02684 * @arg @ref LL_EXTI_LINE_7 02685 * @arg @ref LL_EXTI_LINE_8 02686 * @arg @ref LL_EXTI_LINE_9 02687 * @arg @ref LL_EXTI_LINE_10 02688 * @arg @ref LL_EXTI_LINE_11 02689 * @arg @ref LL_EXTI_LINE_12 02690 * @arg @ref LL_EXTI_LINE_13 02691 * @arg @ref LL_EXTI_LINE_14 02692 * @arg @ref LL_EXTI_LINE_15 02693 * @arg @ref LL_EXTI_LINE_16 02694 * @arg @ref LL_EXTI_LINE_17 02695 * @arg @ref LL_EXTI_LINE_18 02696 * @arg @ref LL_EXTI_LINE_19 02697 * @arg @ref LL_EXTI_LINE_20 02698 * @arg @ref LL_EXTI_LINE_21 02699 * @arg @ref LL_EXTI_LINE_ALL_0_31 02700 * @retval State of bit (1 or 0). 02701 */ 02702 __STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine) 02703 { 02704 return ((READ_BIT(EXTI->C2PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02705 } 02706 02707 /** 02708 * @brief Check if the ExtLine Flag is set or not for Lines in range 32 to 63 for cpu2 02709 * @note This bit is set when the selected edge event arrives on the interrupt 02710 * line. This bit is cleared by writing a 1 to the bit. 02711 * @rmtoll C2PR2 PIFx LL_C2_EXTI_IsActiveFlag_32_63 02712 * @param ExtiLine This parameter can be a combination of the following values: 02713 * @arg @ref LL_EXTI_LINE_49 02714 * @arg @ref LL_EXTI_LINE_51 02715 * @arg @ref LL_EXTI_LINE_ALL_32_63 02716 * @retval State of bit (1 or 0). 02717 */ 02718 __STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine) 02719 { 02720 return ((READ_BIT(EXTI->C2PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02721 } 02722 02723 /** 02724 * @brief Check if the ExtLine Flag is set or not for Lines in range 64 to 95 for cpu2 02725 * @note This bit is set when the selected edge event arrives on the interrupt 02726 * line. This bit is cleared by writing a 1 to the bit. 02727 * @rmtoll C2PR3 PIFx LL_C2_EXTI_IsActiveFlag_64_95 02728 * @param ExtiLine This parameter can be a combination of the following values: 02729 * @arg @ref LL_EXTI_LINE_82 02730 * @arg @ref LL_EXTI_LINE_84 02731 * @arg @ref LL_EXTI_LINE_85 02732 * @arg @ref LL_EXTI_LINE_86 02733 * @arg @ref LL_EXTI_LINE_ALL_64_95 02734 * @retval State of bit (1 or 0). 02735 */ 02736 __STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine) 02737 { 02738 return ((READ_BIT(EXTI->C2PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U); 02739 } 02740 02741 /** 02742 * @brief Read ExtLine Combination Flag for Lines in range 0 to 31 for cpu2 02743 * @note This bit is set when the selected edge event arrives on the interrupt 02744 * line. This bit is cleared by writing a 1 to the bit. 02745 * @rmtoll C2PR1 PIFx LL_C2_EXTI_ReadFlag_0_31 02746 * @param ExtiLine This parameter can be a combination of the following values: 02747 * @arg @ref LL_EXTI_LINE_0 02748 * @arg @ref LL_EXTI_LINE_1 02749 * @arg @ref LL_EXTI_LINE_2 02750 * @arg @ref LL_EXTI_LINE_3 02751 * @arg @ref LL_EXTI_LINE_4 02752 * @arg @ref LL_EXTI_LINE_5 02753 * @arg @ref LL_EXTI_LINE_6 02754 * @arg @ref LL_EXTI_LINE_7 02755 * @arg @ref LL_EXTI_LINE_8 02756 * @arg @ref LL_EXTI_LINE_9 02757 * @arg @ref LL_EXTI_LINE_10 02758 * @arg @ref LL_EXTI_LINE_11 02759 * @arg @ref LL_EXTI_LINE_12 02760 * @arg @ref LL_EXTI_LINE_13 02761 * @arg @ref LL_EXTI_LINE_14 02762 * @arg @ref LL_EXTI_LINE_15 02763 * @arg @ref LL_EXTI_LINE_16 02764 * @arg @ref LL_EXTI_LINE_17 02765 * @arg @ref LL_EXTI_LINE_18 02766 * @arg @ref LL_EXTI_LINE_19 02767 * @arg @ref LL_EXTI_LINE_20 02768 * @arg @ref LL_EXTI_LINE_21 02769 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02770 */ 02771 __STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_0_31(uint32_t ExtiLine) 02772 { 02773 return (uint32_t)(READ_BIT(EXTI->C2PR1, ExtiLine)); 02774 } 02775 02776 /** 02777 * @brief Read ExtLine Combination Flag for Lines in range 32 to 63 for cpu2 02778 * @note This bit is set when the selected edge event arrives on the interrupt 02779 * line. This bit is cleared by writing a 1 to the bit. 02780 * @rmtoll C2PR2 PIFx LL_C2_EXTI_ReadFlag_32_63 02781 * @param ExtiLine This parameter can be a combination of the following values: 02782 * @arg @ref LL_EXTI_LINE_49 02783 * @arg @ref LL_EXTI_LINE_51 02784 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02785 */ 02786 __STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_32_63(uint32_t ExtiLine) 02787 { 02788 return (uint32_t)(READ_BIT(EXTI->C2PR2, ExtiLine)); 02789 } 02790 02791 02792 /** 02793 * @brief Read ExtLine Combination Flag for Lines in range 64 to 95 for cpu2 02794 * @note This bit is set when the selected edge event arrives on the interrupt 02795 * line. This bit is cleared by writing a 1 to the bit. 02796 * @rmtoll C2PR3 PIFx LL_C2_EXTI_ReadFlag_64_95 02797 * @param ExtiLine This parameter can be a combination of the following values: 02798 * @arg @ref LL_EXTI_LINE_82 02799 * @arg @ref LL_EXTI_LINE_84 02800 * @arg @ref LL_EXTI_LINE_85 02801 * @arg @ref LL_EXTI_LINE_86 02802 * @retval @note This bit is set when the selected edge event arrives on the interrupt 02803 */ 02804 __STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_64_95(uint32_t ExtiLine) 02805 { 02806 return (uint32_t)(READ_BIT(EXTI->C2PR3, ExtiLine)); 02807 } 02808 /** 02809 * @brief Clear ExtLine Flags for Lines in range 0 to 31 for cpu2 02810 * @note This bit is set when the selected edge event arrives on the interrupt 02811 * line. This bit is cleared by writing a 1 to the bit. 02812 * @rmtoll C2PR1 PIFx LL_C2_EXTI_ClearFlag_0_31 02813 * @param ExtiLine This parameter can be a combination of the following values: 02814 * @arg @ref LL_EXTI_LINE_0 02815 * @arg @ref LL_EXTI_LINE_1 02816 * @arg @ref LL_EXTI_LINE_2 02817 * @arg @ref LL_EXTI_LINE_3 02818 * @arg @ref LL_EXTI_LINE_4 02819 * @arg @ref LL_EXTI_LINE_5 02820 * @arg @ref LL_EXTI_LINE_6 02821 * @arg @ref LL_EXTI_LINE_7 02822 * @arg @ref LL_EXTI_LINE_8 02823 * @arg @ref LL_EXTI_LINE_9 02824 * @arg @ref LL_EXTI_LINE_10 02825 * @arg @ref LL_EXTI_LINE_11 02826 * @arg @ref LL_EXTI_LINE_12 02827 * @arg @ref LL_EXTI_LINE_13 02828 * @arg @ref LL_EXTI_LINE_14 02829 * @arg @ref LL_EXTI_LINE_15 02830 * @arg @ref LL_EXTI_LINE_16 02831 * @arg @ref LL_EXTI_LINE_17 02832 * @arg @ref LL_EXTI_LINE_18 02833 * @arg @ref LL_EXTI_LINE_19 02834 * @arg @ref LL_EXTI_LINE_20 02835 * @arg @ref LL_EXTI_LINE_21 02836 * @retval None 02837 */ 02838 __STATIC_INLINE void LL_C2_EXTI_ClearFlag_0_31(uint32_t ExtiLine) 02839 { 02840 WRITE_REG(EXTI->C2PR1, ExtiLine); 02841 } 02842 02843 /** 02844 * @brief Clear ExtLine Flags for Lines in range 32 to 63 for cpu2 02845 * @note This bit is set when the selected edge event arrives on the interrupt 02846 * line. This bit is cleared by writing a 1 to the bit. 02847 * @rmtoll C2PR2 PIFx LL_C2_EXTI_ClearFlag_32_63 02848 * @param ExtiLine This parameter can be a combination of the following values: 02849 * @arg @ref LL_EXTI_LINE_49 02850 * @arg @ref LL_EXTI_LINE_51 02851 * @retval None 02852 */ 02853 __STATIC_INLINE void LL_C2_EXTI_ClearFlag_32_63(uint32_t ExtiLine) 02854 { 02855 WRITE_REG(EXTI->C2PR2, ExtiLine); 02856 } 02857 02858 /** 02859 * @brief Clear ExtLine Flags for Lines in range 64 to 95 for cpu2 02860 * @note This bit is set when the selected edge event arrives on the interrupt 02861 * line. This bit is cleared by writing a 1 to the bit. 02862 * @rmtoll C2PR3 PIFx LL_C2_EXTI_ClearFlag_64_95 02863 * @param ExtiLine This parameter can be a combination of the following values: 02864 * @arg @ref LL_EXTI_LINE_82 02865 * @arg @ref LL_EXTI_LINE_84 02866 * @arg @ref LL_EXTI_LINE_85 02867 * @arg @ref LL_EXTI_LINE_86 02868 * @retval None 02869 */ 02870 __STATIC_INLINE void LL_C2_EXTI_ClearFlag_64_95(uint32_t ExtiLine) 02871 { 02872 WRITE_REG(EXTI->C2PR3, ExtiLine); 02873 } 02874 02875 #endif /* DUAL_CORE */ 02876 02877 /** 02878 * @brief Enable ExtiLine D3 Pending Mask for Lines in range 0 to 31 02879 * @rmtoll D3PMR1 MRx LL_D3_EXTI_EnablePendMask_0_31 02880 * @param ExtiLine This parameter can be one of the following values: 02881 * @arg @ref LL_EXTI_LINE_0 02882 * @arg @ref LL_EXTI_LINE_1 02883 * @arg @ref LL_EXTI_LINE_2 02884 * @arg @ref LL_EXTI_LINE_3 02885 * @arg @ref LL_EXTI_LINE_4 02886 * @arg @ref LL_EXTI_LINE_5 02887 * @arg @ref LL_EXTI_LINE_6 02888 * @arg @ref LL_EXTI_LINE_7 02889 * @arg @ref LL_EXTI_LINE_8 02890 * @arg @ref LL_EXTI_LINE_9 02891 * @arg @ref LL_EXTI_LINE_10 02892 * @arg @ref LL_EXTI_LINE_11 02893 * @arg @ref LL_EXTI_LINE_12 02894 * @arg @ref LL_EXTI_LINE_13 02895 * @arg @ref LL_EXTI_LINE_14 02896 * @arg @ref LL_EXTI_LINE_15 02897 * @arg @ref LL_EXTI_LINE_19 02898 * @arg @ref LL_EXTI_LINE_20 02899 * @arg @ref LL_EXTI_LINE_21 02900 * @arg @ref LL_EXTI_LINE_25 02901 * @retval None 02902 */ 02903 __STATIC_INLINE void LL_D3_EXTI_EnablePendMask_0_31(uint32_t ExtiLine) 02904 { 02905 SET_BIT(EXTI->D3PMR1, ExtiLine); 02906 } 02907 02908 /** 02909 * @brief Enable ExtiLine D3 Pending Mask for Lines in range 32 to 63 02910 * @rmtoll D3PMR2 MRx LL_D3_EXTI_EnablePendMask_32_63 02911 * @param ExtiLine This parameter can be one of the following values: 02912 * @arg @ref LL_EXTI_LINE_34 02913 * @arg @ref LL_EXTI_LINE_35 02914 * @arg @ref LL_EXTI_LINE_41 02915 * @arg @ref LL_EXTI_LINE_48 02916 * @arg @ref LL_EXTI_LINE_49 02917 * @arg @ref LL_EXTI_LINE_50 02918 * @arg @ref LL_EXTI_LINE_51 02919 * @arg @ref LL_EXTI_LINE_52 02920 * @arg @ref LL_EXTI_LINE_53 02921 * @retval None 02922 */ 02923 __STATIC_INLINE void LL_D3_EXTI_EnablePendMask_32_63(uint32_t ExtiLine) 02924 { 02925 SET_BIT(EXTI->D3PMR2, ExtiLine); 02926 } 02927 02928 /** 02929 * @brief Disable ExtiLine D3 Pending Mask for Lines in range 0 to 31 02930 * @rmtoll D3PMR1 MRx LL_D3_EXTI_DisablePendMask_0_31 02931 * @param ExtiLine This parameter can be one of the following values: 02932 * @arg @ref LL_EXTI_LINE_0 02933 * @arg @ref LL_EXTI_LINE_1 02934 * @arg @ref LL_EXTI_LINE_2 02935 * @arg @ref LL_EXTI_LINE_3 02936 * @arg @ref LL_EXTI_LINE_4 02937 * @arg @ref LL_EXTI_LINE_5 02938 * @arg @ref LL_EXTI_LINE_6 02939 * @arg @ref LL_EXTI_LINE_7 02940 * @arg @ref LL_EXTI_LINE_8 02941 * @arg @ref LL_EXTI_LINE_9 02942 * @arg @ref LL_EXTI_LINE_10 02943 * @arg @ref LL_EXTI_LINE_11 02944 * @arg @ref LL_EXTI_LINE_12 02945 * @arg @ref LL_EXTI_LINE_13 02946 * @arg @ref LL_EXTI_LINE_14 02947 * @arg @ref LL_EXTI_LINE_15 02948 * @arg @ref LL_EXTI_LINE_19 02949 * @arg @ref LL_EXTI_LINE_20 02950 * @arg @ref LL_EXTI_LINE_21 02951 * @arg @ref LL_EXTI_LINE_25 02952 * @retval None 02953 */ 02954 __STATIC_INLINE void LL_D3_EXTI_DisablePendMask_0_31(uint32_t ExtiLine) 02955 { 02956 CLEAR_BIT(EXTI->D3PMR1, ExtiLine); 02957 } 02958 02959 /** 02960 * @brief Disable ExtiLine D3 Pending Mask for Lines in range 32 to 63 02961 * @rmtoll D3PMR2 MRx LL_D3_EXTI_DisablePendMask_32_63 02962 * @param ExtiLine This parameter can be one of the following values: 02963 * @arg @ref LL_EXTI_LINE_34 02964 * @arg @ref LL_EXTI_LINE_35 02965 * @arg @ref LL_EXTI_LINE_41 02966 * @arg @ref LL_EXTI_LINE_48 02967 * @arg @ref LL_EXTI_LINE_49 02968 * @arg @ref LL_EXTI_LINE_50 02969 * @arg @ref LL_EXTI_LINE_51 02970 * @arg @ref LL_EXTI_LINE_52 02971 * @arg @ref LL_EXTI_LINE_53 02972 * @retval None 02973 */ 02974 __STATIC_INLINE void LL_D3_EXTI_DisablePendMask_32_63(uint32_t ExtiLine) 02975 { 02976 CLEAR_BIT(EXTI->D3PMR2, ExtiLine); 02977 } 02978 02979 /** 02980 * @brief Indicate if ExtiLine D3 Pending Mask is enabled for Lines in range 0 to 31 02981 * @rmtoll D3PMR1 MRx LL_D3_EXTI_IsEnabledPendMask_0_31 02982 * @param ExtiLine This parameter can be one of the following values: 02983 * @arg @ref LL_EXTI_LINE_0 02984 * @arg @ref LL_EXTI_LINE_1 02985 * @arg @ref LL_EXTI_LINE_2 02986 * @arg @ref LL_EXTI_LINE_3 02987 * @arg @ref LL_EXTI_LINE_4 02988 * @arg @ref LL_EXTI_LINE_5 02989 * @arg @ref LL_EXTI_LINE_6 02990 * @arg @ref LL_EXTI_LINE_7 02991 * @arg @ref LL_EXTI_LINE_8 02992 * @arg @ref LL_EXTI_LINE_9 02993 * @arg @ref LL_EXTI_LINE_10 02994 * @arg @ref LL_EXTI_LINE_11 02995 * @arg @ref LL_EXTI_LINE_12 02996 * @arg @ref LL_EXTI_LINE_13 02997 * @arg @ref LL_EXTI_LINE_14 02998 * @arg @ref LL_EXTI_LINE_15 02999 * @arg @ref LL_EXTI_LINE_19 03000 * @arg @ref LL_EXTI_LINE_20 03001 * @arg @ref LL_EXTI_LINE_21 03002 * @arg @ref LL_EXTI_LINE_25 03003 * @retval State of bit (1 or 0). 03004 */ 03005 __STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_0_31(uint32_t ExtiLine) 03006 { 03007 return ((READ_BIT(EXTI->D3PMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U); 03008 } 03009 03010 /** 03011 * @brief Indicate if ExtiLine D3 Pending Mask is enabled for Lines in range 32 to 63 03012 * @rmtoll D3PMR2 MRx LL_D3_EXTI_IsEnabledPendMask_32_63 03013 * @param ExtiLine This parameter can be one of the following values: 03014 * @arg @ref LL_EXTI_LINE_34 03015 * @arg @ref LL_EXTI_LINE_35 03016 * @arg @ref LL_EXTI_LINE_41 03017 * @arg @ref LL_EXTI_LINE_48 03018 * @arg @ref LL_EXTI_LINE_49 03019 * @arg @ref LL_EXTI_LINE_50 03020 * @arg @ref LL_EXTI_LINE_51 03021 * @arg @ref LL_EXTI_LINE_52 03022 * @arg @ref LL_EXTI_LINE_53 03023 * @retval State of bit (1 or 0). 03024 */ 03025 __STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_32_63(uint32_t ExtiLine) 03026 { 03027 return ((READ_BIT(EXTI->D3PMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U); 03028 } 03029 03030 /** 03031 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 0 to 15 03032 * @rmtoll D3PCR1L PCSx LL_D3_EXTI_SetPendClearSel_0_15 03033 * @param ExtiLine This parameter can be one of the following values: 03034 * @arg @ref LL_EXTI_LINE_0 03035 * @arg @ref LL_EXTI_LINE_1 03036 * @arg @ref LL_EXTI_LINE_2 03037 * @arg @ref LL_EXTI_LINE_3 03038 * @arg @ref LL_EXTI_LINE_4 03039 * @arg @ref LL_EXTI_LINE_5 03040 * @arg @ref LL_EXTI_LINE_6 03041 * @arg @ref LL_EXTI_LINE_7 03042 * @arg @ref LL_EXTI_LINE_8 03043 * @arg @ref LL_EXTI_LINE_9 03044 * @arg @ref LL_EXTI_LINE_10 03045 * @arg @ref LL_EXTI_LINE_11 03046 * @arg @ref LL_EXTI_LINE_12 03047 * @arg @ref LL_EXTI_LINE_13 03048 * @arg @ref LL_EXTI_LINE_14 03049 * @arg @ref LL_EXTI_LINE_15 03050 * @param ClrSrc This parameter can be one of the following values: 03051 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03052 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03053 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03054 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03055 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03056 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03057 * 03058 * (*) value not defined in all devices. 03059 * @retval None 03060 */ 03061 __STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_0_15(uint32_t ExtiLine, uint32_t ClrSrc) 03062 { 03063 MODIFY_REG(EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc)); 03064 } 03065 03066 /** 03067 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 16 to 31 03068 * @rmtoll D3PCR1H PCSx LL_D3_EXTI_SetPendClearSel_16_31 03069 * @param ExtiLine This parameter can be one of the following values: 03070 * @arg @ref LL_EXTI_LINE_19 03071 * @arg @ref LL_EXTI_LINE_20 03072 * @arg @ref LL_EXTI_LINE_21 03073 * @arg @ref LL_EXTI_LINE_25 03074 * @param ClrSrc This parameter can be one of the following values: 03075 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03076 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03077 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03078 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03079 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03080 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03081 * 03082 * (*) value not defined in all devices. 03083 * @retval None 03084 */ 03085 __STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_16_31(uint32_t ExtiLine, uint32_t ClrSrc) 03086 { 03087 MODIFY_REG(EXTI->D3PCR1H, (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * 3UL), (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * ClrSrc)); 03088 } 03089 03090 03091 /** 03092 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 32 to 47 03093 * @rmtoll D3PCR2L PCSx LL_D3_EXTI_SetPendClearSel_32_47 03094 * @param ExtiLine This parameter can be one of the following values: 03095 * @arg @ref LL_EXTI_LINE_34 03096 * @arg @ref LL_EXTI_LINE_35 03097 * @arg @ref LL_EXTI_LINE_41 03098 * @param ClrSrc This parameter can be one of the following values: 03099 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03100 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03101 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03102 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03103 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03104 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03105 * 03106 * (*) value not defined in all devices. 03107 * @retval None 03108 */ 03109 __STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_32_47(uint32_t ExtiLine, uint32_t ClrSrc) 03110 { 03111 MODIFY_REG(EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc)); 03112 } 03113 03114 /** 03115 * @brief Set ExtLine D3 Domain Pend Clear Source selection for Lines in range 48 to 63 03116 * @rmtoll D3PCR2H PCSx LL_D3_EXTI_SetPendClearSel_48_63 03117 * @param ExtiLine This parameter can be one of the following values: 03118 * @arg @ref LL_EXTI_LINE_48 03119 * @arg @ref LL_EXTI_LINE_49 03120 * @arg @ref LL_EXTI_LINE_50 03121 * @arg @ref LL_EXTI_LINE_51 03122 * @arg @ref LL_EXTI_LINE_52 03123 * @arg @ref LL_EXTI_LINE_53 03124 * @param ClrSrc This parameter can be one of the following values: 03125 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03126 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03127 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03128 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03129 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03130 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03131 * 03132 * (*) value not defined in all devices. 03133 * @retval None 03134 */ 03135 __STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_48_63(uint32_t ExtiLine, uint32_t ClrSrc) 03136 { 03137 MODIFY_REG(EXTI->D3PCR2H, (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * 3UL), (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * ClrSrc)); 03138 } 03139 03140 /** 03141 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 0 to 15 03142 * @rmtoll D3PCR1L PCSx LL_D3_EXTI_GetPendClearSel_0_15 03143 * @param ExtiLine This parameter can be one of the following values: 03144 * @arg @ref LL_EXTI_LINE_0 03145 * @arg @ref LL_EXTI_LINE_1 03146 * @arg @ref LL_EXTI_LINE_2 03147 * @arg @ref LL_EXTI_LINE_3 03148 * @arg @ref LL_EXTI_LINE_4 03149 * @arg @ref LL_EXTI_LINE_5 03150 * @arg @ref LL_EXTI_LINE_6 03151 * @arg @ref LL_EXTI_LINE_7 03152 * @arg @ref LL_EXTI_LINE_8 03153 * @arg @ref LL_EXTI_LINE_9 03154 * @arg @ref LL_EXTI_LINE_10 03155 * @arg @ref LL_EXTI_LINE_11 03156 * @arg @ref LL_EXTI_LINE_12 03157 * @arg @ref LL_EXTI_LINE_13 03158 * @arg @ref LL_EXTI_LINE_14 03159 * @arg @ref LL_EXTI_LINE_15 03160 * @retval Returned value can be one of the following values: 03161 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03162 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03163 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03164 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03165 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03166 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03167 * 03168 * (*) value not defined in all devices. 03169 */ 03170 __STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_0_15(uint32_t ExtiLine) 03171 { 03172 return (uint32_t)(READ_BIT(EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine)); 03173 } 03174 03175 /** 03176 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 16 to 31 03177 * @rmtoll D3PCR1H PCSx LL_D3_EXTI_GetPendClearSel_16_31 03178 * @param ExtiLine This parameter can be one of the following values: 03179 * @arg @ref LL_EXTI_LINE_19 03180 * @arg @ref LL_EXTI_LINE_20 03181 * @arg @ref LL_EXTI_LINE_21 03182 * @arg @ref LL_EXTI_LINE_25 03183 * @retval Returned value can be one of the following values: 03184 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03185 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03186 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03187 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03188 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03189 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03190 * 03191 * (*) value not defined in all devices. 03192 */ 03193 __STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_16_31(uint32_t ExtiLine) 03194 { 03195 return (uint32_t)(READ_BIT(EXTI->D3PCR1H, (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * 3UL)) / ((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos))); 03196 } 03197 03198 /** 03199 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 32 to 47 03200 * @rmtoll D3PCR2L PCSx LL_D3_EXTI_GetPendClearSel_32_47 03201 * @param ExtiLine This parameter can be one of the following values: 03202 * @arg @ref LL_EXTI_LINE_34 03203 * @arg @ref LL_EXTI_LINE_35 03204 * @arg @ref LL_EXTI_LINE_41 03205 * @retval Returned value can be one of the following values: 03206 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03207 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03208 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03209 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03210 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03211 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03212 * 03213 * (*) value not defined in all devices. 03214 */ 03215 __STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_32_47(uint32_t ExtiLine) 03216 { 03217 return (uint32_t)(READ_BIT(EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine)); 03218 } 03219 03220 /** 03221 * @brief Get ExtLine D3 Domain Pend Clear Source selection for Lines in range 48 to 63 03222 * @rmtoll D3PCR2H PCSx LL_D3_EXTI_GetPendClearSel_48_63 03223 * @param ExtiLine This parameter can be one of the following values: 03224 * @arg @ref LL_EXTI_LINE_48 03225 * @arg @ref LL_EXTI_LINE_49 03226 * @arg @ref LL_EXTI_LINE_50 03227 * @arg @ref LL_EXTI_LINE_51 03228 * @arg @ref LL_EXTI_LINE_52 03229 * @arg @ref LL_EXTI_LINE_53 03230 * @retval Returned value can be one of the following values: 03231 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH6 03232 * @arg @ref LL_EXTI_D3_PEND_CLR_DMACH7 03233 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM4 (*) 03234 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM5 (*) 03235 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM2 (*) 03236 * @arg @ref LL_EXTI_D3_PEND_CLR_LPTIM3 (*) 03237 * 03238 * (*) value not defined in all devices. 03239 */ 03240 __STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_48_63(uint32_t ExtiLine) 03241 { 03242 return (uint32_t)(READ_BIT(EXTI->D3PCR2H, (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * 3UL)) / ((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos))); 03243 } 03244 03245 03246 03247 /** 03248 * @} 03249 */ 03250 03251 #if defined(USE_FULL_LL_DRIVER) 03252 /** @defgroup EXTI_LL_EF_Init Initialization and de-initialization functions 03253 * @{, 03254 */ 03255 03256 ErrorStatus LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct); 03257 ErrorStatus LL_EXTI_DeInit(void); 03258 void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct); 03259 03260 03261 /** 03262 * @} 03263 */ 03264 #endif /* USE_FULL_LL_DRIVER */ 03265 03266 /** 03267 * @} 03268 */ 03269 03270 /** 03271 * @} 03272 */ 03273 03274 #endif /* EXTI */ 03275 03276 /** 03277 * @} 03278 */ 03279 03280 #ifdef __cplusplus 03281 } 03282 #endif 03283 03284 #endif /* __STM32H7xx_LL_EXTI_H */ 03285