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:
<>
Date:
Wed Apr 12 16:07:08 2017 +0100
Revision:
140:97feb9bacc10
Parent:
128:9bcdf88f62b0
Child:
145:64910690c574
Release 140 of the mbed library

Ports for Upcoming Targets

3841: Add nRf52840 target https://github.com/ARMmbed/mbed-os/pull/3841
3992: Introducing UBLOX_C030 platform. https://github.com/ARMmbed/mbed-os/pull/3992

Fixes and Changes

3951: [NUCLEO_F303ZE] Correct ARDUINO pin https://github.com/ARMmbed/mbed-os/pull/3951
4021: Fixing a macro to detect when RTOS was in use for the NRF52840_DK https://github.com/ARMmbed/mbed-os/pull/4021
3979: KW24D: Add missing SPI defines and Arduino connector definitions https://github.com/ARMmbed/mbed-os/pull/3979
3990: UBLOX_C027: construct a ticker-based wait, rather than calling wait_ms(), in the https://github.com/ARMmbed/mbed-os/pull/3990
4003: Fixed OBOE in async serial tx for NRF52 target, fixes #4002 https://github.com/ARMmbed/mbed-os/pull/4003
4012: STM32: Correct I2C master error handling https://github.com/ARMmbed/mbed-os/pull/4012
4020: NUCLEO_L011K4 remove unsupported tool chain files https://github.com/ARMmbed/mbed-os/pull/4020
4065: K66F: Move bss section to m_data_2 Section https://github.com/ARMmbed/mbed-os/pull/4065
4014: Issue 3763: Reduce heap allocation in the GCC linker file https://github.com/ARMmbed/mbed-os/pull/4014
4030: [STM32L0] reduce IAR heap and stack size for small targets https://github.com/ARMmbed/mbed-os/pull/4030
4109: NUCLEO_L476RG : minor serial pin update https://github.com/ARMmbed/mbed-os/pull/4109
3982: Ticker - kl25z bugfix for handling events in the past https://github.com/ARMmbed/mbed-os/pull/3982

Who changed what in which revision?

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