Initial commit

Dependencies:   FastPWM

Committer:
lypinator
Date:
Wed Sep 16 01:11:49 2020 +0000
Revision:
0:bb348c97df44
Added PWM

Who changed what in which revision?

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