The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_L072CZ_LRWAN1/TARGET_STM/TARGET_STM32L0/device/stm32l0xx_ll_exti.h@167:84c0a372a020
mbed library. Release version 164

Who changed what in which revision?

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