Rajath Ravi / Mbed 2 deprecated ravi_blinkycode

Dependencies:   mbed

Committer:
rajathr
Date:
Sat Oct 23 05:49:09 2021 +0000
Revision:
0:34ee385f4d2d
At 23rd Oct 21 - All Code

Who changed what in which revision?

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