mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
186:707f6e361f3e
mbed library release version 165

Who changed what in which revision?

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