Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
stm32f4xx_exti_mort.c@0:716b93ab9a58, 2021-10-29 (annotated)
- Committer:
- rajathr
- Date:
- Fri Oct 29 20:56:20 2021 +0000
- Revision:
- 0:716b93ab9a58
AS ON 29TH OCT AT 5PM
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| rajathr | 0:716b93ab9a58 | 1 | /** |
| rajathr | 0:716b93ab9a58 | 2 | ****************************************************************************** |
| rajathr | 0:716b93ab9a58 | 3 | * @file stm32f4xx_exti.c |
| rajathr | 0:716b93ab9a58 | 4 | * @author MCD Application Team |
| rajathr | 0:716b93ab9a58 | 5 | * @version V1.8.0 |
| rajathr | 0:716b93ab9a58 | 6 | * @date 04-November-2016 |
| rajathr | 0:716b93ab9a58 | 7 | * @brief This file provides firmware functions to manage the following |
| rajathr | 0:716b93ab9a58 | 8 | * functionalities of the EXTI_MORT peripheral: |
| rajathr | 0:716b93ab9a58 | 9 | * + Initialization and Configuration |
| rajathr | 0:716b93ab9a58 | 10 | * + Interrupts and flags management |
| rajathr | 0:716b93ab9a58 | 11 | * |
| rajathr | 0:716b93ab9a58 | 12 | @verbatim |
| rajathr | 0:716b93ab9a58 | 13 | |
| rajathr | 0:716b93ab9a58 | 14 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 15 | ##### EXTI_MORT features ##### |
| rajathr | 0:716b93ab9a58 | 16 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 17 | |
| rajathr | 0:716b93ab9a58 | 18 | [..] External interrupt/event lines are mapped as following: |
| rajathr | 0:716b93ab9a58 | 19 | (#) All available GPIO pins are connected to the 16 external |
| rajathr | 0:716b93ab9a58 | 20 | interrupt/event lines from EXTI0 to EXTI15. |
| rajathr | 0:716b93ab9a58 | 21 | (#) EXTI_MORT line 16 is connected to the PVD Output |
| rajathr | 0:716b93ab9a58 | 22 | (#) EXTI_MORT line 17 is connected to the RTC Alarm event |
| rajathr | 0:716b93ab9a58 | 23 | (#) EXTI_MORT line 18 is connected to the USB OTG FS Wakeup from suspend event |
| rajathr | 0:716b93ab9a58 | 24 | (#) EXTI_MORT line 19 is connected to the Ethernet Wakeup event |
| rajathr | 0:716b93ab9a58 | 25 | (#) EXTI_MORT line 20 is connected to the USB OTG HS (configured in FS) Wakeup event |
| rajathr | 0:716b93ab9a58 | 26 | (#) EXTI_MORT line 21 is connected to the RTC Tamper and Time Stamp events |
| rajathr | 0:716b93ab9a58 | 27 | (#) EXTI_MORT line 22 is connected to the RTC Wakeup event |
| rajathr | 0:716b93ab9a58 | 28 | (#) EXTI_MORT line 23 is connected to the LPTIM Wakeup event |
| rajathr | 0:716b93ab9a58 | 29 | |
| rajathr | 0:716b93ab9a58 | 30 | ##### How to use this driver ##### |
| rajathr | 0:716b93ab9a58 | 31 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 32 | |
| rajathr | 0:716b93ab9a58 | 33 | [..] In order to use an I/O pin as an external interrupt source, follow steps |
| rajathr | 0:716b93ab9a58 | 34 | below: |
| rajathr | 0:716b93ab9a58 | 35 | (#) Configure the I/O in input mode using GPIO_Init() |
| rajathr | 0:716b93ab9a58 | 36 | (#) Select the input source pin for the EXTI_MORT line using SYSCFG_EXTILineConfig() |
| rajathr | 0:716b93ab9a58 | 37 | (#) Select the mode(interrupt, event) and configure the trigger |
| rajathr | 0:716b93ab9a58 | 38 | selection (Rising, falling or both) using EXTI_Init_mort() |
| rajathr | 0:716b93ab9a58 | 39 | (#) Configure NVIC IRQ channel mapped to the EXTI_MORT line using NVIC_Init() |
| rajathr | 0:716b93ab9a58 | 40 | |
| rajathr | 0:716b93ab9a58 | 41 | [..] |
| rajathr | 0:716b93ab9a58 | 42 | (@) SYSCFG APB clock must be enabled to get write access to SYSCFG_EXTICRx |
| rajathr | 0:716b93ab9a58 | 43 | registers using RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); |
| rajathr | 0:716b93ab9a58 | 44 | |
| rajathr | 0:716b93ab9a58 | 45 | @endverbatim |
| rajathr | 0:716b93ab9a58 | 46 | * |
| rajathr | 0:716b93ab9a58 | 47 | ****************************************************************************** |
| rajathr | 0:716b93ab9a58 | 48 | * @attention |
| rajathr | 0:716b93ab9a58 | 49 | * |
| rajathr | 0:716b93ab9a58 | 50 | * <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2> |
| rajathr | 0:716b93ab9a58 | 51 | * |
| rajathr | 0:716b93ab9a58 | 52 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); |
| rajathr | 0:716b93ab9a58 | 53 | * You may not use this file except in compliance with the License. |
| rajathr | 0:716b93ab9a58 | 54 | * You may obtain a copy of the License at: |
| rajathr | 0:716b93ab9a58 | 55 | * |
| rajathr | 0:716b93ab9a58 | 56 | * http://www.st.com/software_license_agreement_liberty_v2 |
| rajathr | 0:716b93ab9a58 | 57 | * |
| rajathr | 0:716b93ab9a58 | 58 | * Unless required by applicable law or agreed to in writing, software |
| rajathr | 0:716b93ab9a58 | 59 | * distributed under the License is distributed on an "AS IS" BASIS, |
| rajathr | 0:716b93ab9a58 | 60 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| rajathr | 0:716b93ab9a58 | 61 | * See the License for the specific language governing permissions and |
| rajathr | 0:716b93ab9a58 | 62 | * limitations under the License. |
| rajathr | 0:716b93ab9a58 | 63 | * |
| rajathr | 0:716b93ab9a58 | 64 | ****************************************************************************** |
| rajathr | 0:716b93ab9a58 | 65 | */ |
| rajathr | 0:716b93ab9a58 | 66 | |
| rajathr | 0:716b93ab9a58 | 67 | /* Includes ------------------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 68 | #include "stm32f4xx_exti_mort.h" |
| rajathr | 0:716b93ab9a58 | 69 | |
| rajathr | 0:716b93ab9a58 | 70 | /** @addtogroup STM32F4xx_StdPeriph_Driver |
| rajathr | 0:716b93ab9a58 | 71 | * @{ |
| rajathr | 0:716b93ab9a58 | 72 | */ |
| rajathr | 0:716b93ab9a58 | 73 | |
| rajathr | 0:716b93ab9a58 | 74 | /** @defgroup EXTI_MORT |
| rajathr | 0:716b93ab9a58 | 75 | * @brief EXTI_MORT driver modules |
| rajathr | 0:716b93ab9a58 | 76 | * @{ |
| rajathr | 0:716b93ab9a58 | 77 | */ |
| rajathr | 0:716b93ab9a58 | 78 | |
| rajathr | 0:716b93ab9a58 | 79 | /* Private typedef -----------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 80 | /* Private define ------------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 81 | |
| rajathr | 0:716b93ab9a58 | 82 | #define EXTI_LINENONE_MORT ((uint32_t)0x00000) /* No interrupt selected */ |
| rajathr | 0:716b93ab9a58 | 83 | |
| rajathr | 0:716b93ab9a58 | 84 | /* Private macro -------------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 85 | /* Private variables ---------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 86 | /* Private function prototypes -----------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 87 | /* Private functions ---------------------------------------------------------*/ |
| rajathr | 0:716b93ab9a58 | 88 | |
| rajathr | 0:716b93ab9a58 | 89 | /** @defgroup EXTI_Private_Functions |
| rajathr | 0:716b93ab9a58 | 90 | * @{ |
| rajathr | 0:716b93ab9a58 | 91 | */ |
| rajathr | 0:716b93ab9a58 | 92 | |
| rajathr | 0:716b93ab9a58 | 93 | /** @defgroup EXTI_Group1 Initialization and Configuration functions |
| rajathr | 0:716b93ab9a58 | 94 | * @brief Initialization and Configuration functions |
| rajathr | 0:716b93ab9a58 | 95 | * |
| rajathr | 0:716b93ab9a58 | 96 | @verbatim |
| rajathr | 0:716b93ab9a58 | 97 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 98 | ##### Initialization and Configuration functions ##### |
| rajathr | 0:716b93ab9a58 | 99 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 100 | |
| rajathr | 0:716b93ab9a58 | 101 | @endverbatim |
| rajathr | 0:716b93ab9a58 | 102 | * @{ |
| rajathr | 0:716b93ab9a58 | 103 | */ |
| rajathr | 0:716b93ab9a58 | 104 | |
| rajathr | 0:716b93ab9a58 | 105 | /** |
| rajathr | 0:716b93ab9a58 | 106 | * @brief Deinitializes the EXTI_MORT peripheral registers to their default reset values. |
| rajathr | 0:716b93ab9a58 | 107 | * @param None |
| rajathr | 0:716b93ab9a58 | 108 | * @retval None |
| rajathr | 0:716b93ab9a58 | 109 | */ |
| rajathr | 0:716b93ab9a58 | 110 | void EXTI_DeInit_mort(void) |
| rajathr | 0:716b93ab9a58 | 111 | { |
| rajathr | 0:716b93ab9a58 | 112 | EXTI_MORT->IMR = 0x00000000; |
| rajathr | 0:716b93ab9a58 | 113 | EXTI_MORT->EMR = 0x00000000; |
| rajathr | 0:716b93ab9a58 | 114 | EXTI_MORT->RTSR = 0x00000000; |
| rajathr | 0:716b93ab9a58 | 115 | EXTI_MORT->FTSR = 0x00000000; |
| rajathr | 0:716b93ab9a58 | 116 | EXTI_MORT->PR = 0x007FFFFF; |
| rajathr | 0:716b93ab9a58 | 117 | } |
| rajathr | 0:716b93ab9a58 | 118 | |
| rajathr | 0:716b93ab9a58 | 119 | /** |
| rajathr | 0:716b93ab9a58 | 120 | * @brief Initializes the EXTI_MORT peripheral according to the specified |
| rajathr | 0:716b93ab9a58 | 121 | * parameters in the EXTI_InitStruct. |
| rajathr | 0:716b93ab9a58 | 122 | * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef_mort structure |
| rajathr | 0:716b93ab9a58 | 123 | * that contains the configuration information for the EXTI_MORT peripheral. |
| rajathr | 0:716b93ab9a58 | 124 | * @retval None |
| rajathr | 0:716b93ab9a58 | 125 | */ |
| rajathr | 0:716b93ab9a58 | 126 | void EXTI_Init_mort(EXTI_InitTypeDef_mort* EXTI_InitStruct) |
| rajathr | 0:716b93ab9a58 | 127 | { |
| rajathr | 0:716b93ab9a58 | 128 | uint32_t tmp = 0; |
| rajathr | 0:716b93ab9a58 | 129 | |
| rajathr | 0:716b93ab9a58 | 130 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 131 | assert_param(IS_EXTI_MODE_MORT(EXTI_InitStruct->EXTI_Mode)); |
| rajathr | 0:716b93ab9a58 | 132 | assert_param(IS_EXTI_TRIGGER_MORT(EXTI_InitStruct->EXTI_Trigger)); |
| rajathr | 0:716b93ab9a58 | 133 | assert_param(IS_EXTI_LINE_MORT(EXTI_InitStruct->EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 134 | assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd)); |
| rajathr | 0:716b93ab9a58 | 135 | |
| rajathr | 0:716b93ab9a58 | 136 | tmp = (uint32_t)EXTI_BASE_MORT; |
| rajathr | 0:716b93ab9a58 | 137 | |
| rajathr | 0:716b93ab9a58 | 138 | if (EXTI_InitStruct->EXTI_LineCmd != DISABLE) |
| rajathr | 0:716b93ab9a58 | 139 | { |
| rajathr | 0:716b93ab9a58 | 140 | /* Clear EXTI_MORT line configuration */ |
| rajathr | 0:716b93ab9a58 | 141 | EXTI_MORT->IMR &= ~EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 142 | EXTI_MORT->EMR &= ~EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 143 | |
| rajathr | 0:716b93ab9a58 | 144 | tmp += EXTI_InitStruct->EXTI_Mode; |
| rajathr | 0:716b93ab9a58 | 145 | |
| rajathr | 0:716b93ab9a58 | 146 | *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 147 | |
| rajathr | 0:716b93ab9a58 | 148 | /* Clear Rising Falling edge configuration */ |
| rajathr | 0:716b93ab9a58 | 149 | EXTI_MORT->RTSR &= ~EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 150 | EXTI_MORT->FTSR &= ~EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 151 | |
| rajathr | 0:716b93ab9a58 | 152 | /* Select the trigger for the selected external interrupts */ |
| rajathr | 0:716b93ab9a58 | 153 | if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling) |
| rajathr | 0:716b93ab9a58 | 154 | { |
| rajathr | 0:716b93ab9a58 | 155 | /* Rising Falling edge */ |
| rajathr | 0:716b93ab9a58 | 156 | EXTI_MORT->RTSR |= EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 157 | EXTI_MORT->FTSR |= EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 158 | } |
| rajathr | 0:716b93ab9a58 | 159 | else |
| rajathr | 0:716b93ab9a58 | 160 | { |
| rajathr | 0:716b93ab9a58 | 161 | tmp = (uint32_t)EXTI_BASE_MORT; |
| rajathr | 0:716b93ab9a58 | 162 | tmp += EXTI_InitStruct->EXTI_Trigger; |
| rajathr | 0:716b93ab9a58 | 163 | |
| rajathr | 0:716b93ab9a58 | 164 | *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 165 | } |
| rajathr | 0:716b93ab9a58 | 166 | } |
| rajathr | 0:716b93ab9a58 | 167 | else |
| rajathr | 0:716b93ab9a58 | 168 | { |
| rajathr | 0:716b93ab9a58 | 169 | tmp += EXTI_InitStruct->EXTI_Mode; |
| rajathr | 0:716b93ab9a58 | 170 | |
| rajathr | 0:716b93ab9a58 | 171 | /* Disable the selected external lines */ |
| rajathr | 0:716b93ab9a58 | 172 | *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 173 | } |
| rajathr | 0:716b93ab9a58 | 174 | } |
| rajathr | 0:716b93ab9a58 | 175 | |
| rajathr | 0:716b93ab9a58 | 176 | /** |
| rajathr | 0:716b93ab9a58 | 177 | * @brief Fills each EXTI_InitStruct member with its reset value. |
| rajathr | 0:716b93ab9a58 | 178 | * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef_mort structure which will |
| rajathr | 0:716b93ab9a58 | 179 | * be initialized. |
| rajathr | 0:716b93ab9a58 | 180 | * @retval None |
| rajathr | 0:716b93ab9a58 | 181 | */ |
| rajathr | 0:716b93ab9a58 | 182 | void EXTI_StructInit_mort(EXTI_InitTypeDef_mort* EXTI_InitStruct) |
| rajathr | 0:716b93ab9a58 | 183 | { |
| rajathr | 0:716b93ab9a58 | 184 | EXTI_InitStruct->EXTI_Line = EXTI_LINENONE_MORT; |
| rajathr | 0:716b93ab9a58 | 185 | EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt; |
| rajathr | 0:716b93ab9a58 | 186 | EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling; |
| rajathr | 0:716b93ab9a58 | 187 | EXTI_InitStruct->EXTI_LineCmd = DISABLE; |
| rajathr | 0:716b93ab9a58 | 188 | } |
| rajathr | 0:716b93ab9a58 | 189 | |
| rajathr | 0:716b93ab9a58 | 190 | /** |
| rajathr | 0:716b93ab9a58 | 191 | * @brief Generates a Software interrupt on selected EXTI_MORT line. |
| rajathr | 0:716b93ab9a58 | 192 | * @param EXTI_Line: specifies the EXTI_MORT line on which the software interrupt |
| rajathr | 0:716b93ab9a58 | 193 | * will be generated. |
| rajathr | 0:716b93ab9a58 | 194 | * This parameter can be any combination of EXTI_Linex where x can be (0..22) |
| rajathr | 0:716b93ab9a58 | 195 | * @retval None |
| rajathr | 0:716b93ab9a58 | 196 | */ |
| rajathr | 0:716b93ab9a58 | 197 | void EXTI_GenerateSWInterrupt_mort(uint32_t EXTI_Line) |
| rajathr | 0:716b93ab9a58 | 198 | { |
| rajathr | 0:716b93ab9a58 | 199 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 200 | assert_param(IS_EXTI_LINE_MORT(EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 201 | |
| rajathr | 0:716b93ab9a58 | 202 | EXTI_MORT->SWIER |= EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 203 | } |
| rajathr | 0:716b93ab9a58 | 204 | |
| rajathr | 0:716b93ab9a58 | 205 | /** |
| rajathr | 0:716b93ab9a58 | 206 | * @} |
| rajathr | 0:716b93ab9a58 | 207 | */ |
| rajathr | 0:716b93ab9a58 | 208 | |
| rajathr | 0:716b93ab9a58 | 209 | /** @defgroup EXTI_Group2 Interrupts and flags management functions |
| rajathr | 0:716b93ab9a58 | 210 | * @brief Interrupts and flags management functions |
| rajathr | 0:716b93ab9a58 | 211 | * |
| rajathr | 0:716b93ab9a58 | 212 | @verbatim |
| rajathr | 0:716b93ab9a58 | 213 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 214 | ##### Interrupts and flags management functions ##### |
| rajathr | 0:716b93ab9a58 | 215 | =============================================================================== |
| rajathr | 0:716b93ab9a58 | 216 | |
| rajathr | 0:716b93ab9a58 | 217 | @endverbatim |
| rajathr | 0:716b93ab9a58 | 218 | * @{ |
| rajathr | 0:716b93ab9a58 | 219 | */ |
| rajathr | 0:716b93ab9a58 | 220 | |
| rajathr | 0:716b93ab9a58 | 221 | /** |
| rajathr | 0:716b93ab9a58 | 222 | * @brief Checks whether the specified EXTI_MORT line flag is set or not. |
| rajathr | 0:716b93ab9a58 | 223 | * @param EXTI_Line: specifies the EXTI_MORT line flag to check. |
| rajathr | 0:716b93ab9a58 | 224 | * This parameter can be EXTI_Linex where x can be(0..22) |
| rajathr | 0:716b93ab9a58 | 225 | * @retval The new state of EXTI_Line (SET or RESET). |
| rajathr | 0:716b93ab9a58 | 226 | */ |
| rajathr | 0:716b93ab9a58 | 227 | FlagStatus EXTI_GetFlagStatus_mort(uint32_t EXTI_Line) |
| rajathr | 0:716b93ab9a58 | 228 | { |
| rajathr | 0:716b93ab9a58 | 229 | FlagStatus bitstatus = RESET; |
| rajathr | 0:716b93ab9a58 | 230 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 231 | assert_param(IS_GET_EXTI_LINE_MORT(EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 232 | |
| rajathr | 0:716b93ab9a58 | 233 | if ((EXTI_MORT->PR & EXTI_Line) != (uint32_t)RESET) |
| rajathr | 0:716b93ab9a58 | 234 | { |
| rajathr | 0:716b93ab9a58 | 235 | bitstatus = SET; |
| rajathr | 0:716b93ab9a58 | 236 | } |
| rajathr | 0:716b93ab9a58 | 237 | else |
| rajathr | 0:716b93ab9a58 | 238 | { |
| rajathr | 0:716b93ab9a58 | 239 | bitstatus = RESET; |
| rajathr | 0:716b93ab9a58 | 240 | } |
| rajathr | 0:716b93ab9a58 | 241 | return bitstatus; |
| rajathr | 0:716b93ab9a58 | 242 | } |
| rajathr | 0:716b93ab9a58 | 243 | |
| rajathr | 0:716b93ab9a58 | 244 | /** |
| rajathr | 0:716b93ab9a58 | 245 | * @brief Clears the EXTI_MORT's line pending flags. |
| rajathr | 0:716b93ab9a58 | 246 | * @param EXTI_Line: specifies the EXTI_MORT lines flags to clear. |
| rajathr | 0:716b93ab9a58 | 247 | * This parameter can be any combination of EXTI_Linex where x can be (0..22) |
| rajathr | 0:716b93ab9a58 | 248 | * @retval None |
| rajathr | 0:716b93ab9a58 | 249 | */ |
| rajathr | 0:716b93ab9a58 | 250 | void EXTI_ClearFlag_mort(uint32_t EXTI_Line) |
| rajathr | 0:716b93ab9a58 | 251 | { |
| rajathr | 0:716b93ab9a58 | 252 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 253 | assert_param(IS_EXTI_LINE_MORT(EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 254 | |
| rajathr | 0:716b93ab9a58 | 255 | EXTI_MORT->PR = EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 256 | } |
| rajathr | 0:716b93ab9a58 | 257 | |
| rajathr | 0:716b93ab9a58 | 258 | /** |
| rajathr | 0:716b93ab9a58 | 259 | * @brief Checks whether the specified EXTI_MORT line is asserted or not. |
| rajathr | 0:716b93ab9a58 | 260 | * @param EXTI_Line: specifies the EXTI_MORT line to check. |
| rajathr | 0:716b93ab9a58 | 261 | * This parameter can be EXTI_Linex where x can be(0..22) |
| rajathr | 0:716b93ab9a58 | 262 | * @retval The new state of EXTI_Line (SET or RESET). |
| rajathr | 0:716b93ab9a58 | 263 | */ |
| rajathr | 0:716b93ab9a58 | 264 | ITStatus EXTI_GetITStatus_mort(uint32_t EXTI_Line) |
| rajathr | 0:716b93ab9a58 | 265 | { |
| rajathr | 0:716b93ab9a58 | 266 | FlagStatus bitstatus = RESET; |
| rajathr | 0:716b93ab9a58 | 267 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 268 | assert_param(IS_GET_EXTI_LINE_MORT(EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 269 | |
| rajathr | 0:716b93ab9a58 | 270 | if ((EXTI_MORT->PR & EXTI_Line) != (uint32_t)RESET) |
| rajathr | 0:716b93ab9a58 | 271 | { |
| rajathr | 0:716b93ab9a58 | 272 | bitstatus = SET; |
| rajathr | 0:716b93ab9a58 | 273 | } |
| rajathr | 0:716b93ab9a58 | 274 | else |
| rajathr | 0:716b93ab9a58 | 275 | { |
| rajathr | 0:716b93ab9a58 | 276 | bitstatus = RESET; |
| rajathr | 0:716b93ab9a58 | 277 | } |
| rajathr | 0:716b93ab9a58 | 278 | return bitstatus; |
| rajathr | 0:716b93ab9a58 | 279 | |
| rajathr | 0:716b93ab9a58 | 280 | } |
| rajathr | 0:716b93ab9a58 | 281 | |
| rajathr | 0:716b93ab9a58 | 282 | /** |
| rajathr | 0:716b93ab9a58 | 283 | * @brief Clears the EXTI_MORT's line pending bits. |
| rajathr | 0:716b93ab9a58 | 284 | * @param EXTI_Line: specifies the EXTI_MORT lines to clear. |
| rajathr | 0:716b93ab9a58 | 285 | * This parameter can be any combination of EXTI_Linex where x can be (0..22) |
| rajathr | 0:716b93ab9a58 | 286 | * @retval None |
| rajathr | 0:716b93ab9a58 | 287 | */ |
| rajathr | 0:716b93ab9a58 | 288 | void EXTI_ClearITPendingBit_mort(uint32_t EXTI_Line) |
| rajathr | 0:716b93ab9a58 | 289 | { |
| rajathr | 0:716b93ab9a58 | 290 | /* Check the parameters */ |
| rajathr | 0:716b93ab9a58 | 291 | assert_param(IS_EXTI_LINE_MORT(EXTI_Line)); |
| rajathr | 0:716b93ab9a58 | 292 | |
| rajathr | 0:716b93ab9a58 | 293 | EXTI_MORT->PR = EXTI_Line; |
| rajathr | 0:716b93ab9a58 | 294 | } |
| rajathr | 0:716b93ab9a58 | 295 | |
| rajathr | 0:716b93ab9a58 | 296 | /** |
| rajathr | 0:716b93ab9a58 | 297 | * @} |
| rajathr | 0:716b93ab9a58 | 298 | */ |
| rajathr | 0:716b93ab9a58 | 299 | |
| rajathr | 0:716b93ab9a58 | 300 | /** |
| rajathr | 0:716b93ab9a58 | 301 | * @} |
| rajathr | 0:716b93ab9a58 | 302 | */ |
| rajathr | 0:716b93ab9a58 | 303 | |
| rajathr | 0:716b93ab9a58 | 304 | /** |
| rajathr | 0:716b93ab9a58 | 305 | * @} |
| rajathr | 0:716b93ab9a58 | 306 | */ |
| rajathr | 0:716b93ab9a58 | 307 | |
| rajathr | 0:716b93ab9a58 | 308 | /** |
| rajathr | 0:716b93ab9a58 | 309 | * @} |
| rajathr | 0:716b93ab9a58 | 310 | */ |
| rajathr | 0:716b93ab9a58 | 311 | |
| rajathr | 0:716b93ab9a58 | 312 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |
| rajathr | 0:716b93ab9a58 | 313 | |
| rajathr | 0:716b93ab9a58 | 314 | |
| rajathr | 0:716b93ab9a58 | 315 | |
| rajathr | 0:716b93ab9a58 | 316 | |
| rajathr | 0:716b93ab9a58 | 317 | |
| rajathr | 0:716b93ab9a58 | 318 |