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_F303VC/TARGET_STM/TARGET_STM32F3/device/stm32f3xx_ll_exti.h@168:b9e159c1930a
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 163:e59c8e839560 1 /**
AnnaBridge 163:e59c8e839560 2 ******************************************************************************
AnnaBridge 163:e59c8e839560 3 * @file stm32f3xx_ll_exti.h
AnnaBridge 163:e59c8e839560 4 * @author MCD Application Team
AnnaBridge 163:e59c8e839560 5 * @brief Header file of EXTI LL module.
AnnaBridge 163:e59c8e839560 6 ******************************************************************************
AnnaBridge 163:e59c8e839560 7 * @attention
AnnaBridge 163:e59c8e839560 8 *
AnnaBridge 163:e59c8e839560 9 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 163:e59c8e839560 10 *
AnnaBridge 163:e59c8e839560 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 163:e59c8e839560 12 * are permitted provided that the following conditions are met:
AnnaBridge 163:e59c8e839560 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 163:e59c8e839560 14 * this list of conditions and the following disclaimer.
AnnaBridge 163:e59c8e839560 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 163:e59c8e839560 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 163:e59c8e839560 17 * and/or other materials provided with the distribution.
AnnaBridge 163:e59c8e839560 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 163:e59c8e839560 19 * may be used to endorse or promote products derived from this software
AnnaBridge 163:e59c8e839560 20 * without specific prior written permission.
AnnaBridge 163:e59c8e839560 21 *
AnnaBridge 163:e59c8e839560 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 163:e59c8e839560 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 163:e59c8e839560 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 163:e59c8e839560 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 163:e59c8e839560 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 163:e59c8e839560 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 163:e59c8e839560 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 163:e59c8e839560 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 163:e59c8e839560 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 163:e59c8e839560 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 163:e59c8e839560 32 *
AnnaBridge 163:e59c8e839560 33 ******************************************************************************
AnnaBridge 163:e59c8e839560 34 */
AnnaBridge 163:e59c8e839560 35
AnnaBridge 163:e59c8e839560 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 163:e59c8e839560 37 #ifndef __STM32F3xx_LL_EXTI_H
AnnaBridge 163:e59c8e839560 38 #define __STM32F3xx_LL_EXTI_H
AnnaBridge 163:e59c8e839560 39
AnnaBridge 163:e59c8e839560 40 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 41 extern "C" {
AnnaBridge 163:e59c8e839560 42 #endif
AnnaBridge 163:e59c8e839560 43
AnnaBridge 163:e59c8e839560 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 45 #include "stm32f3xx.h"
AnnaBridge 163:e59c8e839560 46
AnnaBridge 163:e59c8e839560 47 /** @addtogroup STM32F3xx_LL_Driver
AnnaBridge 163:e59c8e839560 48 * @{
AnnaBridge 163:e59c8e839560 49 */
AnnaBridge 163:e59c8e839560 50
AnnaBridge 163:e59c8e839560 51 #if defined (EXTI)
AnnaBridge 163:e59c8e839560 52
AnnaBridge 163:e59c8e839560 53 /** @defgroup EXTI_LL EXTI
AnnaBridge 163:e59c8e839560 54 * @{
AnnaBridge 163:e59c8e839560 55 */
AnnaBridge 163:e59c8e839560 56
AnnaBridge 163:e59c8e839560 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 59 /* Private constants ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 60 /* Private Macros ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 61 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 62 /** @defgroup EXTI_LL_Private_Macros EXTI Private Macros
AnnaBridge 163:e59c8e839560 63 * @{
AnnaBridge 163:e59c8e839560 64 */
AnnaBridge 163:e59c8e839560 65 /**
AnnaBridge 163:e59c8e839560 66 * @}
AnnaBridge 163:e59c8e839560 67 */
AnnaBridge 163:e59c8e839560 68 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 163:e59c8e839560 69 /* Exported types ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 70 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 71 /** @defgroup EXTI_LL_ES_INIT EXTI Exported Init structure
AnnaBridge 163:e59c8e839560 72 * @{
AnnaBridge 163:e59c8e839560 73 */
AnnaBridge 163:e59c8e839560 74 typedef struct
AnnaBridge 163:e59c8e839560 75 {
AnnaBridge 163:e59c8e839560 76
AnnaBridge 163:e59c8e839560 77 uint32_t Line_0_31; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 78 This parameter can be any combination of @ref EXTI_LL_EC_LINE */
AnnaBridge 163:e59c8e839560 79 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 80
AnnaBridge 163:e59c8e839560 81 uint32_t Line_32_63; /*!< Specifies the EXTI lines to be enabled or disabled for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 82 This parameter can be any combination of @ref EXTI_LL_EC_LINE */
AnnaBridge 163:e59c8e839560 83 #endif
AnnaBridge 163:e59c8e839560 84
AnnaBridge 163:e59c8e839560 85 FunctionalState LineCommand; /*!< Specifies the new state of the selected EXTI lines.
AnnaBridge 163:e59c8e839560 86 This parameter can be set either to ENABLE or DISABLE */
AnnaBridge 163:e59c8e839560 87
AnnaBridge 163:e59c8e839560 88 uint8_t Mode; /*!< Specifies the mode for the EXTI lines.
AnnaBridge 163:e59c8e839560 89 This parameter can be a value of @ref EXTI_LL_EC_MODE. */
AnnaBridge 163:e59c8e839560 90
AnnaBridge 163:e59c8e839560 91 uint8_t Trigger; /*!< Specifies the trigger signal active edge for the EXTI lines.
AnnaBridge 163:e59c8e839560 92 This parameter can be a value of @ref EXTI_LL_EC_TRIGGER. */
AnnaBridge 163:e59c8e839560 93 } LL_EXTI_InitTypeDef;
AnnaBridge 163:e59c8e839560 94
AnnaBridge 163:e59c8e839560 95 /**
AnnaBridge 163:e59c8e839560 96 * @}
AnnaBridge 163:e59c8e839560 97 */
AnnaBridge 163:e59c8e839560 98 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 163:e59c8e839560 99
AnnaBridge 163:e59c8e839560 100 /* Exported constants --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 101 /** @defgroup EXTI_LL_Exported_Constants EXTI Exported Constants
AnnaBridge 163:e59c8e839560 102 * @{
AnnaBridge 163:e59c8e839560 103 */
AnnaBridge 163:e59c8e839560 104
AnnaBridge 163:e59c8e839560 105 /** @defgroup EXTI_LL_EC_LINE LINE
AnnaBridge 163:e59c8e839560 106 * @{
AnnaBridge 163:e59c8e839560 107 */
AnnaBridge 163:e59c8e839560 108 #define LL_EXTI_LINE_0 EXTI_IMR_IM0 /*!< Extended line 0 */
AnnaBridge 163:e59c8e839560 109 #define LL_EXTI_LINE_1 EXTI_IMR_IM1 /*!< Extended line 1 */
AnnaBridge 163:e59c8e839560 110 #define LL_EXTI_LINE_2 EXTI_IMR_IM2 /*!< Extended line 2 */
AnnaBridge 163:e59c8e839560 111 #define LL_EXTI_LINE_3 EXTI_IMR_IM3 /*!< Extended line 3 */
AnnaBridge 163:e59c8e839560 112 #define LL_EXTI_LINE_4 EXTI_IMR_IM4 /*!< Extended line 4 */
AnnaBridge 163:e59c8e839560 113 #define LL_EXTI_LINE_5 EXTI_IMR_IM5 /*!< Extended line 5 */
AnnaBridge 163:e59c8e839560 114 #define LL_EXTI_LINE_6 EXTI_IMR_IM6 /*!< Extended line 6 */
AnnaBridge 163:e59c8e839560 115 #define LL_EXTI_LINE_7 EXTI_IMR_IM7 /*!< Extended line 7 */
AnnaBridge 163:e59c8e839560 116 #define LL_EXTI_LINE_8 EXTI_IMR_IM8 /*!< Extended line 8 */
AnnaBridge 163:e59c8e839560 117 #define LL_EXTI_LINE_9 EXTI_IMR_IM9 /*!< Extended line 9 */
AnnaBridge 163:e59c8e839560 118 #define LL_EXTI_LINE_10 EXTI_IMR_IM10 /*!< Extended line 10 */
AnnaBridge 163:e59c8e839560 119 #define LL_EXTI_LINE_11 EXTI_IMR_IM11 /*!< Extended line 11 */
AnnaBridge 163:e59c8e839560 120 #define LL_EXTI_LINE_12 EXTI_IMR_IM12 /*!< Extended line 12 */
AnnaBridge 163:e59c8e839560 121 #define LL_EXTI_LINE_13 EXTI_IMR_IM13 /*!< Extended line 13 */
AnnaBridge 163:e59c8e839560 122 #define LL_EXTI_LINE_14 EXTI_IMR_IM14 /*!< Extended line 14 */
AnnaBridge 163:e59c8e839560 123 #define LL_EXTI_LINE_15 EXTI_IMR_IM15 /*!< Extended line 15 */
AnnaBridge 163:e59c8e839560 124 #if defined(EXTI_IMR_IM16)
AnnaBridge 163:e59c8e839560 125 #define LL_EXTI_LINE_16 EXTI_IMR_IM16 /*!< Extended line 16 */
AnnaBridge 163:e59c8e839560 126 #endif
AnnaBridge 163:e59c8e839560 127 #define LL_EXTI_LINE_17 EXTI_IMR_IM17 /*!< Extended line 17 */
AnnaBridge 163:e59c8e839560 128 #if defined(EXTI_IMR_IM18)
AnnaBridge 163:e59c8e839560 129 #define LL_EXTI_LINE_18 EXTI_IMR_IM18 /*!< Extended line 18 */
AnnaBridge 163:e59c8e839560 130 #endif
AnnaBridge 163:e59c8e839560 131 #define LL_EXTI_LINE_19 EXTI_IMR_IM19 /*!< Extended line 19 */
AnnaBridge 163:e59c8e839560 132 #if defined(EXTI_IMR_IM20)
AnnaBridge 163:e59c8e839560 133 #define LL_EXTI_LINE_20 EXTI_IMR_IM20 /*!< Extended line 20 */
AnnaBridge 163:e59c8e839560 134 #endif
AnnaBridge 163:e59c8e839560 135 #if defined(EXTI_IMR_IM21)
AnnaBridge 163:e59c8e839560 136 #define LL_EXTI_LINE_21 EXTI_IMR_IM21 /*!< Extended line 21 */
AnnaBridge 163:e59c8e839560 137 #endif
AnnaBridge 163:e59c8e839560 138 #if defined(EXTI_IMR_IM22)
AnnaBridge 163:e59c8e839560 139 #define LL_EXTI_LINE_22 EXTI_IMR_IM22 /*!< Extended line 22 */
AnnaBridge 163:e59c8e839560 140 #endif
AnnaBridge 163:e59c8e839560 141 #define LL_EXTI_LINE_23 EXTI_IMR_IM23 /*!< Extended line 23 */
AnnaBridge 163:e59c8e839560 142 #if defined(EXTI_IMR_IM24)
AnnaBridge 163:e59c8e839560 143 #define LL_EXTI_LINE_24 EXTI_IMR_IM24 /*!< Extended line 24 */
AnnaBridge 163:e59c8e839560 144 #endif
AnnaBridge 163:e59c8e839560 145 #if defined(EXTI_IMR_IM25)
AnnaBridge 163:e59c8e839560 146 #define LL_EXTI_LINE_25 EXTI_IMR_IM25 /*!< Extended line 25 */
AnnaBridge 163:e59c8e839560 147 #endif
AnnaBridge 163:e59c8e839560 148 #if defined(EXTI_IMR_IM26)
AnnaBridge 163:e59c8e839560 149 #define LL_EXTI_LINE_26 EXTI_IMR_IM26 /*!< Extended line 26 */
AnnaBridge 163:e59c8e839560 150 #endif
AnnaBridge 163:e59c8e839560 151 #if defined(EXTI_IMR_IM27)
AnnaBridge 163:e59c8e839560 152 #define LL_EXTI_LINE_27 EXTI_IMR_IM27 /*!< Extended line 27 */
AnnaBridge 163:e59c8e839560 153 #endif
AnnaBridge 163:e59c8e839560 154 #if defined(EXTI_IMR_IM28)
AnnaBridge 163:e59c8e839560 155 #define LL_EXTI_LINE_28 EXTI_IMR_IM28 /*!< Extended line 28 */
AnnaBridge 163:e59c8e839560 156 #endif
AnnaBridge 163:e59c8e839560 157 #if defined(EXTI_IMR_IM29)
AnnaBridge 163:e59c8e839560 158 #define LL_EXTI_LINE_29 EXTI_IMR_IM29 /*!< Extended line 29 */
AnnaBridge 163:e59c8e839560 159 #endif
AnnaBridge 163:e59c8e839560 160 #if defined(EXTI_IMR_IM30)
AnnaBridge 163:e59c8e839560 161 #define LL_EXTI_LINE_30 EXTI_IMR_IM30 /*!< Extended line 30 */
AnnaBridge 163:e59c8e839560 162 #endif
AnnaBridge 163:e59c8e839560 163 #if defined(EXTI_IMR_IM31)
AnnaBridge 163:e59c8e839560 164 #define LL_EXTI_LINE_31 EXTI_IMR_IM31 /*!< Extended line 31 */
AnnaBridge 163:e59c8e839560 165 #endif
AnnaBridge 163:e59c8e839560 166 #define LL_EXTI_LINE_ALL_0_31 EXTI_IMR_IM /*!< All Extended line not reserved*/
AnnaBridge 163:e59c8e839560 167
AnnaBridge 163:e59c8e839560 168 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 169 #define LL_EXTI_LINE_32 EXTI_IMR2_IM32 /*!< Extended line 32 */
AnnaBridge 163:e59c8e839560 170 #if defined(EXTI_IMR2_IM33)
AnnaBridge 163:e59c8e839560 171 #define LL_EXTI_LINE_33 EXTI_IMR2_IM33 /*!< Extended line 33 */
AnnaBridge 163:e59c8e839560 172 #endif
AnnaBridge 163:e59c8e839560 173 #if defined(EXTI_IMR2_IM34)
AnnaBridge 163:e59c8e839560 174 #define LL_EXTI_LINE_34 EXTI_IMR2_IM34 /*!< Extended line 34 */
AnnaBridge 163:e59c8e839560 175 #endif
AnnaBridge 163:e59c8e839560 176 #if defined(EXTI_IMR2_IM35)
AnnaBridge 163:e59c8e839560 177 #define LL_EXTI_LINE_35 EXTI_IMR2_IM35 /*!< Extended line 35 */
AnnaBridge 163:e59c8e839560 178 #endif
AnnaBridge 163:e59c8e839560 179 #if defined(EXTI_IMR2_IM36)
AnnaBridge 163:e59c8e839560 180 #define LL_EXTI_LINE_36 EXTI_IMR2_IM36 /*!< Extended line 36 */
AnnaBridge 163:e59c8e839560 181 #endif
AnnaBridge 163:e59c8e839560 182 #if defined(EXTI_IMR2_IM37)
AnnaBridge 163:e59c8e839560 183 #define LL_EXTI_LINE_37 EXTI_IMR2_IM37 /*!< Extended line 37 */
AnnaBridge 163:e59c8e839560 184 #endif
AnnaBridge 163:e59c8e839560 185 #if defined(EXTI_IMR2_IM38)
AnnaBridge 163:e59c8e839560 186 #define LL_EXTI_LINE_38 EXTI_IMR2_IM38 /*!< Extended line 38 */
AnnaBridge 163:e59c8e839560 187 #endif
AnnaBridge 163:e59c8e839560 188 #if defined(EXTI_IMR2_IM39)
AnnaBridge 163:e59c8e839560 189 #define LL_EXTI_LINE_39 EXTI_IMR2_IM39 /*!< Extended line 39 */
AnnaBridge 163:e59c8e839560 190 #endif
AnnaBridge 168:b9e159c1930a 191 #if defined(EXTI_IMR2_IM40)
AnnaBridge 168:b9e159c1930a 192 #define LL_EXTI_LINE_40 EXTI_IMR2_IM40 /*!< Extended line 40 */
AnnaBridge 168:b9e159c1930a 193 #endif
AnnaBridge 163:e59c8e839560 194 #define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM /*!< All Extended line not reserved*/
AnnaBridge 163:e59c8e839560 195
AnnaBridge 163:e59c8e839560 196 #endif
AnnaBridge 163:e59c8e839560 197
AnnaBridge 168:b9e159c1930a 198 #define LL_EXTI_LINE_ALL (0xFFFFFFFFU) /*!< All Extended line */
AnnaBridge 163:e59c8e839560 199
AnnaBridge 163:e59c8e839560 200 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 168:b9e159c1930a 201 #define LL_EXTI_LINE_NONE (0x00000000U) /*!< None Extended line */
AnnaBridge 163:e59c8e839560 202 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 163:e59c8e839560 203
AnnaBridge 163:e59c8e839560 204 /**
AnnaBridge 163:e59c8e839560 205 * @}
AnnaBridge 163:e59c8e839560 206 */
AnnaBridge 163:e59c8e839560 207 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 208
AnnaBridge 163:e59c8e839560 209 /** @defgroup EXTI_LL_EC_MODE Mode
AnnaBridge 163:e59c8e839560 210 * @{
AnnaBridge 163:e59c8e839560 211 */
AnnaBridge 163:e59c8e839560 212 #define LL_EXTI_MODE_IT ((uint8_t)0x00U) /*!< Interrupt Mode */
AnnaBridge 163:e59c8e839560 213 #define LL_EXTI_MODE_EVENT ((uint8_t)0x01U) /*!< Event Mode */
AnnaBridge 163:e59c8e839560 214 #define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x02U) /*!< Interrupt & Event Mode */
AnnaBridge 163:e59c8e839560 215 /**
AnnaBridge 163:e59c8e839560 216 * @}
AnnaBridge 163:e59c8e839560 217 */
AnnaBridge 163:e59c8e839560 218
AnnaBridge 163:e59c8e839560 219 /** @defgroup EXTI_LL_EC_TRIGGER Edge Trigger
AnnaBridge 163:e59c8e839560 220 * @{
AnnaBridge 163:e59c8e839560 221 */
AnnaBridge 163:e59c8e839560 222 #define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U) /*!< No Trigger Mode */
AnnaBridge 163:e59c8e839560 223 #define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U) /*!< Trigger Rising Mode */
AnnaBridge 163:e59c8e839560 224 #define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U) /*!< Trigger Falling Mode */
AnnaBridge 163:e59c8e839560 225 #define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U) /*!< Trigger Rising & Falling Mode */
AnnaBridge 163:e59c8e839560 226
AnnaBridge 163:e59c8e839560 227 /**
AnnaBridge 163:e59c8e839560 228 * @}
AnnaBridge 163:e59c8e839560 229 */
AnnaBridge 163:e59c8e839560 230
AnnaBridge 163:e59c8e839560 231
AnnaBridge 163:e59c8e839560 232 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 163:e59c8e839560 233
AnnaBridge 163:e59c8e839560 234
AnnaBridge 163:e59c8e839560 235 /**
AnnaBridge 163:e59c8e839560 236 * @}
AnnaBridge 163:e59c8e839560 237 */
AnnaBridge 163:e59c8e839560 238
AnnaBridge 163:e59c8e839560 239 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 240 /** @defgroup EXTI_LL_Exported_Macros EXTI Exported Macros
AnnaBridge 163:e59c8e839560 241 * @{
AnnaBridge 163:e59c8e839560 242 */
AnnaBridge 163:e59c8e839560 243
AnnaBridge 163:e59c8e839560 244 /** @defgroup EXTI_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 163:e59c8e839560 245 * @{
AnnaBridge 163:e59c8e839560 246 */
AnnaBridge 163:e59c8e839560 247
AnnaBridge 163:e59c8e839560 248 /**
AnnaBridge 163:e59c8e839560 249 * @brief Write a value in EXTI register
AnnaBridge 163:e59c8e839560 250 * @param __REG__ Register to be written
AnnaBridge 163:e59c8e839560 251 * @param __VALUE__ Value to be written in the register
AnnaBridge 163:e59c8e839560 252 * @retval None
AnnaBridge 163:e59c8e839560 253 */
AnnaBridge 163:e59c8e839560 254 #define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
AnnaBridge 163:e59c8e839560 255
AnnaBridge 163:e59c8e839560 256 /**
AnnaBridge 163:e59c8e839560 257 * @brief Read a value in EXTI register
AnnaBridge 163:e59c8e839560 258 * @param __REG__ Register to be read
AnnaBridge 163:e59c8e839560 259 * @retval Register value
AnnaBridge 163:e59c8e839560 260 */
AnnaBridge 163:e59c8e839560 261 #define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
AnnaBridge 163:e59c8e839560 262 /**
AnnaBridge 163:e59c8e839560 263 * @}
AnnaBridge 163:e59c8e839560 264 */
AnnaBridge 163:e59c8e839560 265
AnnaBridge 163:e59c8e839560 266
AnnaBridge 163:e59c8e839560 267 /**
AnnaBridge 163:e59c8e839560 268 * @}
AnnaBridge 163:e59c8e839560 269 */
AnnaBridge 163:e59c8e839560 270
AnnaBridge 163:e59c8e839560 271
AnnaBridge 163:e59c8e839560 272
AnnaBridge 163:e59c8e839560 273 /* Exported functions --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 274 /** @defgroup EXTI_LL_Exported_Functions EXTI Exported Functions
AnnaBridge 163:e59c8e839560 275 * @{
AnnaBridge 163:e59c8e839560 276 */
AnnaBridge 163:e59c8e839560 277 /** @defgroup EXTI_LL_EF_IT_Management IT_Management
AnnaBridge 163:e59c8e839560 278 * @{
AnnaBridge 163:e59c8e839560 279 */
AnnaBridge 163:e59c8e839560 280
AnnaBridge 163:e59c8e839560 281 /**
AnnaBridge 163:e59c8e839560 282 * @brief Enable ExtiLine Interrupt request for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 283 * @note The reset value for the direct or internal lines (see RM)
AnnaBridge 163:e59c8e839560 284 * is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 285 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 286 * @rmtoll IMR IMx LL_EXTI_EnableIT_0_31
AnnaBridge 163:e59c8e839560 287 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 288 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 289 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 290 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 291 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 292 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 293 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 294 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 295 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 296 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 297 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 298 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 299 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 300 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 301 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 302 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 303 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 304 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 305 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 306 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 307 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 308 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 309 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 310 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 311 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 312 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 313 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 314 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 315 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 316 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 317 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 318 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 319 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 320 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 321 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 322 * @retval None
AnnaBridge 163:e59c8e839560 323 */
AnnaBridge 163:e59c8e839560 324 __STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 325 {
AnnaBridge 163:e59c8e839560 326 SET_BIT(EXTI->IMR, ExtiLine);
AnnaBridge 163:e59c8e839560 327 }
AnnaBridge 163:e59c8e839560 328 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 329 /**
AnnaBridge 163:e59c8e839560 330 * @brief Enable ExtiLine Interrupt request for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 331 * @note The reset value for the direct lines (lines from 32 to 34, line
AnnaBridge 163:e59c8e839560 332 * 39) is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 333 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 334 * @rmtoll IMR2 IMx LL_EXTI_EnableIT_32_63
AnnaBridge 163:e59c8e839560 335 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 336 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 337 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 338 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 339 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 340 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 341 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 342 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 343 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 344 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 345 * @retval None
AnnaBridge 163:e59c8e839560 346 */
AnnaBridge 163:e59c8e839560 347 __STATIC_INLINE void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 348 {
AnnaBridge 163:e59c8e839560 349 SET_BIT(EXTI->IMR2, ExtiLine);
AnnaBridge 163:e59c8e839560 350 }
AnnaBridge 163:e59c8e839560 351 #endif
AnnaBridge 163:e59c8e839560 352
AnnaBridge 163:e59c8e839560 353 /**
AnnaBridge 163:e59c8e839560 354 * @brief Disable ExtiLine Interrupt request for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 355 * @note The reset value for the direct or internal lines (see RM)
AnnaBridge 163:e59c8e839560 356 * is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 357 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 358 * @rmtoll IMR IMx LL_EXTI_DisableIT_0_31
AnnaBridge 163:e59c8e839560 359 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 360 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 361 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 362 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 363 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 364 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 365 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 366 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 367 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 368 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 369 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 370 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 371 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 372 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 373 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 374 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 375 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 376 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 377 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 378 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 379 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 380 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 381 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 382 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 383 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 384 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 385 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 386 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 387 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 388 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 389 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 390 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 391 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 392 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 393 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 394 * @retval None
AnnaBridge 163:e59c8e839560 395 */
AnnaBridge 163:e59c8e839560 396 __STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 397 {
AnnaBridge 163:e59c8e839560 398 CLEAR_BIT(EXTI->IMR, ExtiLine);
AnnaBridge 163:e59c8e839560 399 }
AnnaBridge 163:e59c8e839560 400
AnnaBridge 163:e59c8e839560 401 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 402 /**
AnnaBridge 163:e59c8e839560 403 * @brief Disable ExtiLine Interrupt request for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 404 * @note The reset value for the direct lines (lines from 32 to 34, line
AnnaBridge 163:e59c8e839560 405 * 39) is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 406 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 407 * @rmtoll IMR2 IMx LL_EXTI_DisableIT_32_63
AnnaBridge 163:e59c8e839560 408 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 409 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 410 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 411 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 412 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 413 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 414 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 415 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 416 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 417 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 418 * @retval None
AnnaBridge 163:e59c8e839560 419 */
AnnaBridge 163:e59c8e839560 420 __STATIC_INLINE void LL_EXTI_DisableIT_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 421 {
AnnaBridge 163:e59c8e839560 422 CLEAR_BIT(EXTI->IMR2, ExtiLine);
AnnaBridge 163:e59c8e839560 423 }
AnnaBridge 163:e59c8e839560 424 #endif
AnnaBridge 163:e59c8e839560 425
AnnaBridge 163:e59c8e839560 426 /**
AnnaBridge 163:e59c8e839560 427 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 428 * @note The reset value for the direct or internal lines (see RM)
AnnaBridge 163:e59c8e839560 429 * is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 430 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 431 * @rmtoll IMR IMx LL_EXTI_IsEnabledIT_0_31
AnnaBridge 163:e59c8e839560 432 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 433 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 434 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 435 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 436 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 437 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 438 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 439 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 440 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 441 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 442 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 443 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 444 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 445 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 446 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 447 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 448 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 449 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 450 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 451 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 452 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 453 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 454 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 455 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 456 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 457 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 458 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 459 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 460 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 461 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 462 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 463 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 464 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 465 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 466 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 467 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 468 */
AnnaBridge 163:e59c8e839560 469 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 470 {
AnnaBridge 163:e59c8e839560 471 return (READ_BIT(EXTI->IMR, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 472 }
AnnaBridge 163:e59c8e839560 473
AnnaBridge 163:e59c8e839560 474 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 475 /**
AnnaBridge 163:e59c8e839560 476 * @brief Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 477 * @note The reset value for the direct lines (lines from 32 to 34, line
AnnaBridge 163:e59c8e839560 478 * 39) is set to 1 in order to enable the interrupt by default.
AnnaBridge 163:e59c8e839560 479 * Bits are set automatically at Power on.
AnnaBridge 163:e59c8e839560 480 * @rmtoll IMR2 IMx LL_EXTI_IsEnabledIT_32_63
AnnaBridge 163:e59c8e839560 481 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 482 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 483 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 484 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 485 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 486 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 487 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 488 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 489 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 490 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 491 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 492 */
AnnaBridge 163:e59c8e839560 493 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 494 {
AnnaBridge 163:e59c8e839560 495 return (READ_BIT(EXTI->IMR2, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 496 }
AnnaBridge 163:e59c8e839560 497 #endif
AnnaBridge 163:e59c8e839560 498
AnnaBridge 163:e59c8e839560 499 /**
AnnaBridge 163:e59c8e839560 500 * @}
AnnaBridge 163:e59c8e839560 501 */
AnnaBridge 163:e59c8e839560 502
AnnaBridge 163:e59c8e839560 503 /** @defgroup EXTI_LL_EF_Event_Management Event_Management
AnnaBridge 163:e59c8e839560 504 * @{
AnnaBridge 163:e59c8e839560 505 */
AnnaBridge 163:e59c8e839560 506
AnnaBridge 163:e59c8e839560 507 /**
AnnaBridge 163:e59c8e839560 508 * @brief Enable ExtiLine Event request for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 509 * @rmtoll EMR EMx LL_EXTI_EnableEvent_0_31
AnnaBridge 163:e59c8e839560 510 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 511 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 512 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 513 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 514 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 515 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 516 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 517 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 518 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 519 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 520 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 521 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 522 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 523 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 524 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 525 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 526 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 527 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 528 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 529 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 530 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 531 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 532 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 533 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 534 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 535 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 536 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 537 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 538 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 539 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 540 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 541 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 542 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 543 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 544 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 545 * @retval None
AnnaBridge 163:e59c8e839560 546 */
AnnaBridge 163:e59c8e839560 547 __STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 548 {
AnnaBridge 163:e59c8e839560 549 SET_BIT(EXTI->EMR, ExtiLine);
AnnaBridge 163:e59c8e839560 550
AnnaBridge 163:e59c8e839560 551 }
AnnaBridge 163:e59c8e839560 552
AnnaBridge 163:e59c8e839560 553 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 554 /**
AnnaBridge 163:e59c8e839560 555 * @brief Enable ExtiLine Event request for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 556 * @rmtoll EMR2 EMx LL_EXTI_EnableEvent_32_63
AnnaBridge 163:e59c8e839560 557 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 558 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 559 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 560 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 561 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 562 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 563 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 564 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 565 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 566 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 567 * @retval None
AnnaBridge 163:e59c8e839560 568 */
AnnaBridge 163:e59c8e839560 569 __STATIC_INLINE void LL_EXTI_EnableEvent_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 570 {
AnnaBridge 163:e59c8e839560 571 SET_BIT(EXTI->EMR2, ExtiLine);
AnnaBridge 163:e59c8e839560 572 }
AnnaBridge 163:e59c8e839560 573 #endif
AnnaBridge 163:e59c8e839560 574
AnnaBridge 163:e59c8e839560 575 /**
AnnaBridge 163:e59c8e839560 576 * @brief Disable ExtiLine Event request for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 577 * @rmtoll EMR EMx LL_EXTI_DisableEvent_0_31
AnnaBridge 163:e59c8e839560 578 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 579 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 580 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 581 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 582 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 583 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 584 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 585 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 586 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 587 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 588 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 589 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 590 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 591 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 592 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 593 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 594 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 595 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 596 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 597 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 598 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 599 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 600 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 601 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 602 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 603 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 604 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 605 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 606 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 607 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 608 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 609 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 610 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 611 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 612 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 613 * @retval None
AnnaBridge 163:e59c8e839560 614 */
AnnaBridge 163:e59c8e839560 615 __STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 616 {
AnnaBridge 163:e59c8e839560 617 CLEAR_BIT(EXTI->EMR, ExtiLine);
AnnaBridge 163:e59c8e839560 618 }
AnnaBridge 163:e59c8e839560 619
AnnaBridge 163:e59c8e839560 620 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 621 /**
AnnaBridge 163:e59c8e839560 622 * @brief Disable ExtiLine Event request for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 623 * @rmtoll EMR2 EMx LL_EXTI_DisableEvent_32_63
AnnaBridge 163:e59c8e839560 624 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 625 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 626 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 627 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 628 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 629 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 630 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 631 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 632 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 633 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 634 * @retval None
AnnaBridge 163:e59c8e839560 635 */
AnnaBridge 163:e59c8e839560 636 __STATIC_INLINE void LL_EXTI_DisableEvent_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 637 {
AnnaBridge 163:e59c8e839560 638 CLEAR_BIT(EXTI->EMR2, ExtiLine);
AnnaBridge 163:e59c8e839560 639 }
AnnaBridge 163:e59c8e839560 640 #endif
AnnaBridge 163:e59c8e839560 641
AnnaBridge 163:e59c8e839560 642 /**
AnnaBridge 163:e59c8e839560 643 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 644 * @rmtoll EMR EMx LL_EXTI_IsEnabledEvent_0_31
AnnaBridge 163:e59c8e839560 645 * @param ExtiLine This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 646 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 647 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 648 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 649 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 650 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 651 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 652 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 653 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 654 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 655 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 656 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 657 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 658 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 659 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 660 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 661 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 662 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 663 * @arg @ref LL_EXTI_LINE_17
AnnaBridge 163:e59c8e839560 664 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 665 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 666 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 667 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 668 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 669 * @arg @ref LL_EXTI_LINE_23
AnnaBridge 163:e59c8e839560 670 * @arg @ref LL_EXTI_LINE_24
AnnaBridge 163:e59c8e839560 671 * @arg @ref LL_EXTI_LINE_25
AnnaBridge 163:e59c8e839560 672 * @arg @ref LL_EXTI_LINE_26
AnnaBridge 163:e59c8e839560 673 * @arg @ref LL_EXTI_LINE_27
AnnaBridge 163:e59c8e839560 674 * @arg @ref LL_EXTI_LINE_28
AnnaBridge 163:e59c8e839560 675 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 676 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 677 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 678 * @arg @ref LL_EXTI_LINE_ALL_0_31
AnnaBridge 163:e59c8e839560 679 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 680 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 681 */
AnnaBridge 163:e59c8e839560 682 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 683 {
AnnaBridge 163:e59c8e839560 684 return (READ_BIT(EXTI->EMR, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 685
AnnaBridge 163:e59c8e839560 686 }
AnnaBridge 163:e59c8e839560 687
AnnaBridge 163:e59c8e839560 688 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 689 /**
AnnaBridge 163:e59c8e839560 690 * @brief Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 691 * @rmtoll EMR2 EMx LL_EXTI_IsEnabledEvent_32_63
AnnaBridge 163:e59c8e839560 692 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 693 * @arg @ref LL_EXTI_LINE_32
AnnaBridge 163:e59c8e839560 694 * @arg @ref LL_EXTI_LINE_33
AnnaBridge 163:e59c8e839560 695 * @arg @ref LL_EXTI_LINE_34
AnnaBridge 163:e59c8e839560 696 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 697 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 698 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 699 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 700 * @arg @ref LL_EXTI_LINE_39
AnnaBridge 163:e59c8e839560 701 * @arg @ref LL_EXTI_LINE_ALL_32_63
AnnaBridge 163:e59c8e839560 702 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 703 */
AnnaBridge 163:e59c8e839560 704 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 705 {
AnnaBridge 163:e59c8e839560 706 return (READ_BIT(EXTI->EMR2, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 707 }
AnnaBridge 163:e59c8e839560 708 #endif
AnnaBridge 163:e59c8e839560 709
AnnaBridge 163:e59c8e839560 710 /**
AnnaBridge 163:e59c8e839560 711 * @}
AnnaBridge 163:e59c8e839560 712 */
AnnaBridge 163:e59c8e839560 713
AnnaBridge 163:e59c8e839560 714 /** @defgroup EXTI_LL_EF_Rising_Trigger_Management Rising_Trigger_Management
AnnaBridge 163:e59c8e839560 715 * @{
AnnaBridge 163:e59c8e839560 716 */
AnnaBridge 163:e59c8e839560 717
AnnaBridge 163:e59c8e839560 718 /**
AnnaBridge 163:e59c8e839560 719 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 720 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 721 * generated on these lines. If a rising edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 722 * line occurs during a write operation in the EXTI_RTSR register, the
AnnaBridge 163:e59c8e839560 723 * pending bit is not set.
AnnaBridge 163:e59c8e839560 724 * Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 725 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 726 * condition.
AnnaBridge 163:e59c8e839560 727 * @rmtoll RTSR RTx LL_EXTI_EnableRisingTrig_0_31
AnnaBridge 163:e59c8e839560 728 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 729 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 730 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 731 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 732 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 733 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 734 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 735 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 736 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 737 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 738 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 739 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 740 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 741 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 742 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 743 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 744 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 745 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 746 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 747 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 748 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 749 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 750 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 751 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 752 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 753 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 754 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 755 * @retval None
AnnaBridge 163:e59c8e839560 756 */
AnnaBridge 163:e59c8e839560 757 __STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 758 {
AnnaBridge 163:e59c8e839560 759 SET_BIT(EXTI->RTSR, ExtiLine);
AnnaBridge 163:e59c8e839560 760
AnnaBridge 163:e59c8e839560 761 }
AnnaBridge 163:e59c8e839560 762
AnnaBridge 163:e59c8e839560 763 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 764 /**
AnnaBridge 163:e59c8e839560 765 * @brief Enable ExtiLine Rising Edge Trigger for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 766 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 767 * generated on these lines. If a rising edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 768 * line occurs during a write operation in the EXTI_RTSR register, the
AnnaBridge 163:e59c8e839560 769 * pending bit is not set.Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 770 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 771 * condition.
AnnaBridge 163:e59c8e839560 772 * @rmtoll RTSR2 RTx LL_EXTI_EnableRisingTrig_32_63
AnnaBridge 163:e59c8e839560 773 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 774 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 775 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 776 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 777 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 778 * @retval None
AnnaBridge 163:e59c8e839560 779 */
AnnaBridge 163:e59c8e839560 780 __STATIC_INLINE void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 781 {
AnnaBridge 163:e59c8e839560 782 SET_BIT(EXTI->RTSR2, ExtiLine);
AnnaBridge 163:e59c8e839560 783 }
AnnaBridge 163:e59c8e839560 784 #endif
AnnaBridge 163:e59c8e839560 785
AnnaBridge 163:e59c8e839560 786 /**
AnnaBridge 163:e59c8e839560 787 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 788 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 789 * generated on these lines. If a rising edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 790 * line occurs during a write operation in the EXTI_RTSR register, the
AnnaBridge 163:e59c8e839560 791 * pending bit is not set.
AnnaBridge 163:e59c8e839560 792 * Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 793 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 794 * condition.
AnnaBridge 163:e59c8e839560 795 * @rmtoll RTSR RTx LL_EXTI_DisableRisingTrig_0_31
AnnaBridge 163:e59c8e839560 796 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 797 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 798 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 799 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 800 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 801 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 802 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 803 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 804 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 805 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 806 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 807 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 808 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 809 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 810 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 811 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 812 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 813 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 814 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 815 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 816 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 817 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 818 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 819 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 820 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 821 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 822 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 823 * @retval None
AnnaBridge 163:e59c8e839560 824 */
AnnaBridge 163:e59c8e839560 825 __STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 826 {
AnnaBridge 163:e59c8e839560 827 CLEAR_BIT(EXTI->RTSR, ExtiLine);
AnnaBridge 163:e59c8e839560 828
AnnaBridge 163:e59c8e839560 829 }
AnnaBridge 163:e59c8e839560 830
AnnaBridge 163:e59c8e839560 831 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 832 /**
AnnaBridge 163:e59c8e839560 833 * @brief Disable ExtiLine Rising Edge Trigger for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 834 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 835 * generated on these lines. If a rising edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 836 * line occurs during a write operation in the EXTI_RTSR register, the
AnnaBridge 163:e59c8e839560 837 * pending bit is not set.
AnnaBridge 163:e59c8e839560 838 * Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 839 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 840 * condition.
AnnaBridge 163:e59c8e839560 841 * @rmtoll RTSR2 RTx LL_EXTI_DisableRisingTrig_32_63
AnnaBridge 163:e59c8e839560 842 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 843 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 844 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 845 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 846 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 847 * @retval None
AnnaBridge 163:e59c8e839560 848 */
AnnaBridge 163:e59c8e839560 849 __STATIC_INLINE void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 850 {
AnnaBridge 163:e59c8e839560 851 CLEAR_BIT(EXTI->RTSR2, ExtiLine);
AnnaBridge 163:e59c8e839560 852 }
AnnaBridge 163:e59c8e839560 853 #endif
AnnaBridge 163:e59c8e839560 854
AnnaBridge 163:e59c8e839560 855 /**
AnnaBridge 163:e59c8e839560 856 * @brief Check if rising edge trigger is enabled for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 857 * @rmtoll RTSR RTx LL_EXTI_IsEnabledRisingTrig_0_31
AnnaBridge 163:e59c8e839560 858 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 859 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 860 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 861 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 862 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 863 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 864 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 865 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 866 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 867 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 868 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 869 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 870 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 871 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 872 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 873 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 874 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 875 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 876 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 877 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 878 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 879 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 880 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 881 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 882 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 883 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 884 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 885 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 886 */
AnnaBridge 163:e59c8e839560 887 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 888 {
AnnaBridge 163:e59c8e839560 889 return (READ_BIT(EXTI->RTSR, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 890 }
AnnaBridge 163:e59c8e839560 891
AnnaBridge 163:e59c8e839560 892 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 893 /**
AnnaBridge 163:e59c8e839560 894 * @brief Check if rising edge trigger is enabled for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 895 * @rmtoll RTSR2 RTx LL_EXTI_IsEnabledRisingTrig_32_63
AnnaBridge 163:e59c8e839560 896 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 897 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 898 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 899 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 900 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 901 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 902 */
AnnaBridge 163:e59c8e839560 903 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 904 {
AnnaBridge 163:e59c8e839560 905 return (READ_BIT(EXTI->RTSR2, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 906 }
AnnaBridge 163:e59c8e839560 907 #endif
AnnaBridge 163:e59c8e839560 908
AnnaBridge 163:e59c8e839560 909 /**
AnnaBridge 163:e59c8e839560 910 * @}
AnnaBridge 163:e59c8e839560 911 */
AnnaBridge 163:e59c8e839560 912
AnnaBridge 163:e59c8e839560 913 /** @defgroup EXTI_LL_EF_Falling_Trigger_Management Falling_Trigger_Management
AnnaBridge 163:e59c8e839560 914 * @{
AnnaBridge 163:e59c8e839560 915 */
AnnaBridge 163:e59c8e839560 916
AnnaBridge 163:e59c8e839560 917 /**
AnnaBridge 163:e59c8e839560 918 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 919 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 920 * generated on these lines. If a falling edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 921 * line occurs during a write operation in the EXTI_FTSR register, the
AnnaBridge 163:e59c8e839560 922 * pending bit is not set.
AnnaBridge 163:e59c8e839560 923 * Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 924 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 925 * condition.
AnnaBridge 163:e59c8e839560 926 * @rmtoll FTSR FTx LL_EXTI_EnableFallingTrig_0_31
AnnaBridge 163:e59c8e839560 927 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 928 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 929 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 930 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 931 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 932 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 933 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 934 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 935 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 936 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 937 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 938 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 939 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 940 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 941 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 942 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 943 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 944 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 945 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 946 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 947 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 948 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 949 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 950 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 951 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 952 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 953 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 954 * @retval None
AnnaBridge 163:e59c8e839560 955 */
AnnaBridge 163:e59c8e839560 956 __STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 957 {
AnnaBridge 163:e59c8e839560 958 SET_BIT(EXTI->FTSR, ExtiLine);
AnnaBridge 163:e59c8e839560 959 }
AnnaBridge 163:e59c8e839560 960
AnnaBridge 163:e59c8e839560 961 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 962 /**
AnnaBridge 163:e59c8e839560 963 * @brief Enable ExtiLine Falling Edge Trigger for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 964 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 965 * generated on these lines. If a Falling edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 966 * line occurs during a write operation in the EXTI_FTSR register, the
AnnaBridge 163:e59c8e839560 967 * pending bit is not set.
AnnaBridge 163:e59c8e839560 968 * Rising and falling edge triggers can be set for
AnnaBridge 163:e59c8e839560 969 * the same interrupt line. In this case, both generate a trigger
AnnaBridge 163:e59c8e839560 970 * condition.
AnnaBridge 163:e59c8e839560 971 * @rmtoll FTSR2 FTx LL_EXTI_EnableFallingTrig_32_63
AnnaBridge 163:e59c8e839560 972 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 973 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 974 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 975 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 976 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 977 * @retval None
AnnaBridge 163:e59c8e839560 978 */
AnnaBridge 163:e59c8e839560 979 __STATIC_INLINE void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 980 {
AnnaBridge 163:e59c8e839560 981 SET_BIT(EXTI->FTSR2, ExtiLine);
AnnaBridge 163:e59c8e839560 982 }
AnnaBridge 163:e59c8e839560 983 #endif
AnnaBridge 163:e59c8e839560 984
AnnaBridge 163:e59c8e839560 985 /**
AnnaBridge 163:e59c8e839560 986 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 987 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 988 * generated on these lines. If a Falling edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 989 * line occurs during a write operation in the EXTI_FTSR register, the
AnnaBridge 163:e59c8e839560 990 * pending bit is not set.
AnnaBridge 163:e59c8e839560 991 * Rising and falling edge triggers can be set for the same interrupt line.
AnnaBridge 163:e59c8e839560 992 * In this case, both generate a trigger condition.
AnnaBridge 163:e59c8e839560 993 * @rmtoll FTSR FTx LL_EXTI_DisableFallingTrig_0_31
AnnaBridge 163:e59c8e839560 994 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 995 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 996 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 997 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 998 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 999 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1000 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1001 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1002 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1003 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1004 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1005 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1006 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1007 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1008 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1009 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1010 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1011 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1012 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1013 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1014 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1015 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1016 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1017 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1018 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1019 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1020 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1021 * @retval None
AnnaBridge 163:e59c8e839560 1022 */
AnnaBridge 163:e59c8e839560 1023 __STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1024 {
AnnaBridge 163:e59c8e839560 1025 CLEAR_BIT(EXTI->FTSR, ExtiLine);
AnnaBridge 163:e59c8e839560 1026 }
AnnaBridge 163:e59c8e839560 1027
AnnaBridge 163:e59c8e839560 1028 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1029 /**
AnnaBridge 163:e59c8e839560 1030 * @brief Disable ExtiLine Falling Edge Trigger for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 1031 * @note The configurable wakeup lines are edge-triggered. No glitch must be
AnnaBridge 163:e59c8e839560 1032 * generated on these lines. If a Falling edge on a configurable interrupt
AnnaBridge 163:e59c8e839560 1033 * line occurs during a write operation in the EXTI_FTSR register, the
AnnaBridge 163:e59c8e839560 1034 * pending bit is not set.
AnnaBridge 163:e59c8e839560 1035 * Rising and falling edge triggers can be set for the same interrupt line.
AnnaBridge 163:e59c8e839560 1036 * In this case, both generate a trigger condition.
AnnaBridge 163:e59c8e839560 1037 * @rmtoll FTSR2 FTx LL_EXTI_DisableFallingTrig_32_63
AnnaBridge 163:e59c8e839560 1038 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1039 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1040 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1041 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1042 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1043 * @retval None
AnnaBridge 163:e59c8e839560 1044 */
AnnaBridge 163:e59c8e839560 1045 __STATIC_INLINE void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1046 {
AnnaBridge 163:e59c8e839560 1047 CLEAR_BIT(EXTI->FTSR2, ExtiLine);
AnnaBridge 163:e59c8e839560 1048 }
AnnaBridge 163:e59c8e839560 1049 #endif
AnnaBridge 163:e59c8e839560 1050
AnnaBridge 163:e59c8e839560 1051 /**
AnnaBridge 163:e59c8e839560 1052 * @brief Check if falling edge trigger is enabled for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 1053 * @rmtoll FTSR FTx LL_EXTI_IsEnabledFallingTrig_0_31
AnnaBridge 163:e59c8e839560 1054 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1055 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 1056 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 1057 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 1058 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 1059 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1060 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1061 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1062 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1063 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1064 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1065 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1066 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1067 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1068 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1069 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1070 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1071 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1072 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1073 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1074 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1075 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1076 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1077 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1078 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1079 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1080 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1081 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1082 */
AnnaBridge 163:e59c8e839560 1083 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1084 {
AnnaBridge 163:e59c8e839560 1085 return (READ_BIT(EXTI->FTSR, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 1086 }
AnnaBridge 163:e59c8e839560 1087
AnnaBridge 163:e59c8e839560 1088 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1089 /**
AnnaBridge 163:e59c8e839560 1090 * @brief Check if falling edge trigger is enabled for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 1091 * @rmtoll FTSR2 FTx LL_EXTI_IsEnabledFallingTrig_32_63
AnnaBridge 163:e59c8e839560 1092 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1093 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1094 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1095 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1096 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1097 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1098 */
AnnaBridge 163:e59c8e839560 1099 __STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1100 {
AnnaBridge 163:e59c8e839560 1101 return (READ_BIT(EXTI->FTSR2, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 1102 }
AnnaBridge 163:e59c8e839560 1103 #endif
AnnaBridge 163:e59c8e839560 1104
AnnaBridge 163:e59c8e839560 1105 /**
AnnaBridge 163:e59c8e839560 1106 * @}
AnnaBridge 163:e59c8e839560 1107 */
AnnaBridge 163:e59c8e839560 1108
AnnaBridge 163:e59c8e839560 1109 /** @defgroup EXTI_LL_EF_Software_Interrupt_Management Software_Interrupt_Management
AnnaBridge 163:e59c8e839560 1110 * @{
AnnaBridge 163:e59c8e839560 1111 */
AnnaBridge 163:e59c8e839560 1112
AnnaBridge 163:e59c8e839560 1113 /**
AnnaBridge 163:e59c8e839560 1114 * @brief Generate a software Interrupt Event for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 1115 * @note If the interrupt is enabled on this line in the EXTI_IMR, writing a 1 to
AnnaBridge 163:e59c8e839560 1116 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR
AnnaBridge 163:e59c8e839560 1117 * resulting in an interrupt request generation.
AnnaBridge 163:e59c8e839560 1118 * This bit is cleared by clearing the corresponding bit in the EXTI_PR
AnnaBridge 163:e59c8e839560 1119 * register (by writing a 1 into the bit)
AnnaBridge 163:e59c8e839560 1120 * @rmtoll SWIER SWIx LL_EXTI_GenerateSWI_0_31
AnnaBridge 163:e59c8e839560 1121 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1122 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 1123 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 1124 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 1125 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 1126 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1127 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1128 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1129 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1130 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1131 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1132 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1133 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1134 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1135 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1136 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1137 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1138 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1139 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1140 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1141 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1142 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1143 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1144 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1145 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1146 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1147 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1148 * @retval None
AnnaBridge 163:e59c8e839560 1149 */
AnnaBridge 163:e59c8e839560 1150 __STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1151 {
AnnaBridge 163:e59c8e839560 1152 SET_BIT(EXTI->SWIER, ExtiLine);
AnnaBridge 163:e59c8e839560 1153 }
AnnaBridge 163:e59c8e839560 1154
AnnaBridge 163:e59c8e839560 1155 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1156 /**
AnnaBridge 163:e59c8e839560 1157 * @brief Generate a software Interrupt Event for Lines in range 32 to 63
AnnaBridge 168:b9e159c1930a 1158 * @note If the interrupt is enabled on this line inthe EXTI_IMR2, writing a 1 to
AnnaBridge 168:b9e159c1930a 1159 * this bit when it is at '0' sets the corresponding pending bit in EXTI_PR2
AnnaBridge 163:e59c8e839560 1160 * resulting in an interrupt request generation.
AnnaBridge 168:b9e159c1930a 1161 * This bit is cleared by clearing the corresponding bit in the EXTI_PR2
AnnaBridge 163:e59c8e839560 1162 * register (by writing a 1 into the bit)
AnnaBridge 163:e59c8e839560 1163 * @rmtoll SWIER2 SWIx LL_EXTI_GenerateSWI_32_63
AnnaBridge 163:e59c8e839560 1164 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1165 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1166 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1167 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1168 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1169 * @retval None
AnnaBridge 163:e59c8e839560 1170 */
AnnaBridge 163:e59c8e839560 1171 __STATIC_INLINE void LL_EXTI_GenerateSWI_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1172 {
AnnaBridge 163:e59c8e839560 1173 SET_BIT(EXTI->SWIER2, ExtiLine);
AnnaBridge 163:e59c8e839560 1174 }
AnnaBridge 163:e59c8e839560 1175 #endif
AnnaBridge 163:e59c8e839560 1176
AnnaBridge 163:e59c8e839560 1177 /**
AnnaBridge 163:e59c8e839560 1178 * @}
AnnaBridge 163:e59c8e839560 1179 */
AnnaBridge 163:e59c8e839560 1180
AnnaBridge 163:e59c8e839560 1181 /** @defgroup EXTI_LL_EF_Flag_Management Flag_Management
AnnaBridge 163:e59c8e839560 1182 * @{
AnnaBridge 163:e59c8e839560 1183 */
AnnaBridge 163:e59c8e839560 1184
AnnaBridge 163:e59c8e839560 1185 /**
AnnaBridge 163:e59c8e839560 1186 * @brief Check if the ExtLine Flag is set or not for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 1187 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1188 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1189 * @rmtoll PR PIFx LL_EXTI_IsActiveFlag_0_31
AnnaBridge 163:e59c8e839560 1190 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1191 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 1192 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 1193 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 1194 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 1195 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1196 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1197 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1198 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1199 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1200 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1201 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1202 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1203 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1204 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1205 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1206 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1207 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1208 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1209 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1210 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1211 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1212 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1213 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1214 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1215 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1216 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1217 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1218 */
AnnaBridge 163:e59c8e839560 1219 __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1220 {
AnnaBridge 163:e59c8e839560 1221 return (READ_BIT(EXTI->PR, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 1222 }
AnnaBridge 163:e59c8e839560 1223
AnnaBridge 163:e59c8e839560 1224 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1225 /**
AnnaBridge 163:e59c8e839560 1226 * @brief Check if the ExtLine Flag is set or not for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 1227 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1228 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1229 * @rmtoll PR2 PIFx LL_EXTI_IsActiveFlag_32_63
AnnaBridge 163:e59c8e839560 1230 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1231 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1232 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1233 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1234 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1235 * @retval State of bit (1 or 0).
AnnaBridge 163:e59c8e839560 1236 */
AnnaBridge 163:e59c8e839560 1237 __STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1238 {
AnnaBridge 163:e59c8e839560 1239 return (READ_BIT(EXTI->PR2, ExtiLine) == (ExtiLine));
AnnaBridge 163:e59c8e839560 1240 }
AnnaBridge 163:e59c8e839560 1241 #endif
AnnaBridge 163:e59c8e839560 1242
AnnaBridge 163:e59c8e839560 1243 /**
AnnaBridge 163:e59c8e839560 1244 * @brief Read ExtLine Combination Flag for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 1245 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1246 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1247 * @rmtoll PR PIFx LL_EXTI_ReadFlag_0_31
AnnaBridge 163:e59c8e839560 1248 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1249 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 1250 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 1251 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 1252 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 1253 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1254 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1255 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1256 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1257 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1258 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1259 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1260 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1261 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1262 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1263 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1264 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1265 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1266 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1267 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1268 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1269 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1270 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1271 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1272 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1273 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1274 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1275 * @retval @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1276 */
AnnaBridge 163:e59c8e839560 1277 __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1278 {
AnnaBridge 163:e59c8e839560 1279 return (uint32_t)(READ_BIT(EXTI->PR, ExtiLine));
AnnaBridge 163:e59c8e839560 1280 }
AnnaBridge 163:e59c8e839560 1281
AnnaBridge 163:e59c8e839560 1282 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1283
AnnaBridge 163:e59c8e839560 1284 /**
AnnaBridge 163:e59c8e839560 1285 * @brief Read ExtLine Combination Flag for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 1286 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1287 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1288 * @rmtoll PR2 PIFx LL_EXTI_ReadFlag_32_63
AnnaBridge 163:e59c8e839560 1289 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1290 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1291 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1292 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1293 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1294 * @retval @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1295 */
AnnaBridge 163:e59c8e839560 1296 __STATIC_INLINE uint32_t LL_EXTI_ReadFlag_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1297 {
AnnaBridge 163:e59c8e839560 1298 return (uint32_t)(READ_BIT(EXTI->PR2, ExtiLine));
AnnaBridge 163:e59c8e839560 1299 }
AnnaBridge 163:e59c8e839560 1300 #endif
AnnaBridge 163:e59c8e839560 1301
AnnaBridge 163:e59c8e839560 1302 /**
AnnaBridge 163:e59c8e839560 1303 * @brief Clear ExtLine Flags for Lines in range 0 to 31
AnnaBridge 163:e59c8e839560 1304 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1305 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1306 * @rmtoll PR PIFx LL_EXTI_ClearFlag_0_31
AnnaBridge 163:e59c8e839560 1307 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1308 * @arg @ref LL_EXTI_LINE_0
AnnaBridge 163:e59c8e839560 1309 * @arg @ref LL_EXTI_LINE_1
AnnaBridge 163:e59c8e839560 1310 * @arg @ref LL_EXTI_LINE_2
AnnaBridge 163:e59c8e839560 1311 * @arg @ref LL_EXTI_LINE_3
AnnaBridge 163:e59c8e839560 1312 * @arg @ref LL_EXTI_LINE_4
AnnaBridge 163:e59c8e839560 1313 * @arg @ref LL_EXTI_LINE_5
AnnaBridge 163:e59c8e839560 1314 * @arg @ref LL_EXTI_LINE_6
AnnaBridge 163:e59c8e839560 1315 * @arg @ref LL_EXTI_LINE_7
AnnaBridge 163:e59c8e839560 1316 * @arg @ref LL_EXTI_LINE_8
AnnaBridge 163:e59c8e839560 1317 * @arg @ref LL_EXTI_LINE_9
AnnaBridge 163:e59c8e839560 1318 * @arg @ref LL_EXTI_LINE_10
AnnaBridge 163:e59c8e839560 1319 * @arg @ref LL_EXTI_LINE_11
AnnaBridge 163:e59c8e839560 1320 * @arg @ref LL_EXTI_LINE_12
AnnaBridge 163:e59c8e839560 1321 * @arg @ref LL_EXTI_LINE_13
AnnaBridge 163:e59c8e839560 1322 * @arg @ref LL_EXTI_LINE_14
AnnaBridge 163:e59c8e839560 1323 * @arg @ref LL_EXTI_LINE_15
AnnaBridge 163:e59c8e839560 1324 * @arg @ref LL_EXTI_LINE_16
AnnaBridge 163:e59c8e839560 1325 * @arg @ref LL_EXTI_LINE_18
AnnaBridge 163:e59c8e839560 1326 * @arg @ref LL_EXTI_LINE_19
AnnaBridge 163:e59c8e839560 1327 * @arg @ref LL_EXTI_LINE_20
AnnaBridge 163:e59c8e839560 1328 * @arg @ref LL_EXTI_LINE_21
AnnaBridge 163:e59c8e839560 1329 * @arg @ref LL_EXTI_LINE_22
AnnaBridge 163:e59c8e839560 1330 * @arg @ref LL_EXTI_LINE_29
AnnaBridge 163:e59c8e839560 1331 * @arg @ref LL_EXTI_LINE_30
AnnaBridge 163:e59c8e839560 1332 * @arg @ref LL_EXTI_LINE_31
AnnaBridge 163:e59c8e839560 1333 * @note Please check each device line mapping for EXTI Line availability
AnnaBridge 163:e59c8e839560 1334 * @retval None
AnnaBridge 163:e59c8e839560 1335 */
AnnaBridge 163:e59c8e839560 1336 __STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1337 {
AnnaBridge 163:e59c8e839560 1338 WRITE_REG(EXTI->PR, ExtiLine);
AnnaBridge 163:e59c8e839560 1339 }
AnnaBridge 163:e59c8e839560 1340
AnnaBridge 163:e59c8e839560 1341 #if defined(EXTI_32_63_SUPPORT)
AnnaBridge 163:e59c8e839560 1342 /**
AnnaBridge 163:e59c8e839560 1343 * @brief Clear ExtLine Flags for Lines in range 32 to 63
AnnaBridge 163:e59c8e839560 1344 * @note This bit is set when the selected edge event arrives on the interrupt
AnnaBridge 163:e59c8e839560 1345 * line. This bit is cleared by writing a 1 to the bit.
AnnaBridge 163:e59c8e839560 1346 * @rmtoll PR2 PIFx LL_EXTI_ClearFlag_32_63
AnnaBridge 163:e59c8e839560 1347 * @param ExtiLine This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1348 * @arg @ref LL_EXTI_LINE_35
AnnaBridge 163:e59c8e839560 1349 * @arg @ref LL_EXTI_LINE_36
AnnaBridge 163:e59c8e839560 1350 * @arg @ref LL_EXTI_LINE_37
AnnaBridge 163:e59c8e839560 1351 * @arg @ref LL_EXTI_LINE_38
AnnaBridge 163:e59c8e839560 1352 * @retval None
AnnaBridge 163:e59c8e839560 1353 */
AnnaBridge 163:e59c8e839560 1354 __STATIC_INLINE void LL_EXTI_ClearFlag_32_63(uint32_t ExtiLine)
AnnaBridge 163:e59c8e839560 1355 {
AnnaBridge 163:e59c8e839560 1356 WRITE_REG(EXTI->PR2, ExtiLine);
AnnaBridge 163:e59c8e839560 1357 }
AnnaBridge 163:e59c8e839560 1358 #endif
AnnaBridge 163:e59c8e839560 1359
AnnaBridge 163:e59c8e839560 1360 /**
AnnaBridge 163:e59c8e839560 1361 * @}
AnnaBridge 163:e59c8e839560 1362 */
AnnaBridge 163:e59c8e839560 1363
AnnaBridge 163:e59c8e839560 1364 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 1365 /** @defgroup EXTI_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 163:e59c8e839560 1366 * @{
AnnaBridge 163:e59c8e839560 1367 */
AnnaBridge 163:e59c8e839560 1368
AnnaBridge 163:e59c8e839560 1369 uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct);
AnnaBridge 163:e59c8e839560 1370 uint32_t LL_EXTI_DeInit(void);
AnnaBridge 163:e59c8e839560 1371 void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct);
AnnaBridge 163:e59c8e839560 1372
AnnaBridge 163:e59c8e839560 1373
AnnaBridge 163:e59c8e839560 1374 /**
AnnaBridge 163:e59c8e839560 1375 * @}
AnnaBridge 163:e59c8e839560 1376 */
AnnaBridge 163:e59c8e839560 1377 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 1378
AnnaBridge 163:e59c8e839560 1379 /**
AnnaBridge 163:e59c8e839560 1380 * @}
AnnaBridge 163:e59c8e839560 1381 */
AnnaBridge 163:e59c8e839560 1382
AnnaBridge 163:e59c8e839560 1383 /**
AnnaBridge 163:e59c8e839560 1384 * @}
AnnaBridge 163:e59c8e839560 1385 */
AnnaBridge 163:e59c8e839560 1386
AnnaBridge 163:e59c8e839560 1387 #endif /* EXTI */
AnnaBridge 163:e59c8e839560 1388
AnnaBridge 163:e59c8e839560 1389 /**
AnnaBridge 163:e59c8e839560 1390 * @}
AnnaBridge 163:e59c8e839560 1391 */
AnnaBridge 163:e59c8e839560 1392
AnnaBridge 163:e59c8e839560 1393 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 1394 }
AnnaBridge 163:e59c8e839560 1395 #endif
AnnaBridge 163:e59c8e839560 1396
AnnaBridge 163:e59c8e839560 1397 #endif /* __STM32F3xx_LL_EXTI_H */
AnnaBridge 163:e59c8e839560 1398
AnnaBridge 163:e59c8e839560 1399 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/