STM32H735xx HAL User Manual
stm32h7xx_ll_exti.h
Go to the documentation of this file.
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