STM32F10x_StdPeriph_Examples/PWR/STOP/stm32f10x_it.c

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    PWR/STOP/stm32f10x_it.c 
00004   * @author  MCD Application Team
00005   * @version V3.4.0
00006   * @date    10/15/2010
00007   * @brief   Main Interrupt Service Routines.
00008   *          This file provides template for all exceptions handler and peripherals
00009   *          interrupt service routine.
00010   ******************************************************************************
00011   * @copy
00012   *
00013   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
00014   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
00015   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
00016   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
00017   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
00018   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
00019   *
00020   * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>
00021   */ 
00022 
00023 /* Includes ------------------------------------------------------------------*/
00024 #include "stm32f10x_it.h"
00025 #include "stm32_eval.h"
00026 
00027 /** @addtogroup STM32F10x_StdPeriph_Examples
00028   * @{
00029   */
00030 
00031 /** @addtogroup PWR_STOP
00032   * @{
00033   */
00034 
00035 /* Private typedef -----------------------------------------------------------*/
00036 /* Private define ------------------------------------------------------------*/
00037 /* Private macro -------------------------------------------------------------*/
00038 /* Private variables ---------------------------------------------------------*/
00039 __IO uint32_t TimingDelay = 0;
00040 
00041 /* Private function prototypes -----------------------------------------------*/
00042 /* Private functions ---------------------------------------------------------*/
00043 
00044 /******************************************************************************/
00045 /*            Cortex-M3 Processor Exceptions Handlers                         */
00046 /******************************************************************************/
00047 
00048 /**
00049   * @brief  This function handles NMI exception.
00050   * @param  None
00051   * @retval None
00052   */
00053 void NMI_Handler(void)
00054 {
00055 }
00056 
00057 /**
00058   * @brief  This function handles Hard Fault exception.
00059   * @param  None
00060   * @retval None
00061   */
00062 void HardFault_Handler(void)
00063 {
00064   /* Go to infinite loop when Hard Fault exception occurs */
00065   while (1)
00066   {
00067   }
00068 }
00069 
00070 /**
00071   * @brief  This function handles Memory Manage exception.
00072   * @param  None
00073   * @retval None
00074   */
00075 void MemManage_Handler(void)
00076 {
00077   /* Go to infinite loop when Memory Manage exception occurs */
00078   while (1)
00079   {
00080   }
00081 }
00082 
00083 /**
00084   * @brief  This function handles Bus Fault exception.
00085   * @param  None
00086   * @retval None
00087   */
00088 void BusFault_Handler(void)
00089 {
00090   /* Go to infinite loop when Bus Fault exception occurs */
00091   while (1)
00092   {
00093   }
00094 }
00095 
00096 /**
00097   * @brief  This function handles Usage Fault exception.
00098   * @param  None
00099   * @retval None
00100   */
00101 void UsageFault_Handler(void)
00102 {
00103   /* Go to infinite loop when Usage Fault exception occurs */
00104   while (1)
00105   {
00106   }
00107 }
00108 
00109 /**
00110   * @brief  This function handles SVCall exception.
00111   * @param  None
00112   * @retval None
00113   */
00114 void SVC_Handler(void)
00115 {
00116 }
00117 
00118 /**
00119   * @brief  This function handles Debug Monitor exception.
00120   * @param  None
00121   * @retval None
00122   */
00123 void DebugMon_Handler(void)
00124 {
00125 }
00126 
00127 /**
00128   * @brief  This function handles PendSV_Handler exception.
00129   * @param  None
00130   * @retval None
00131   */
00132 void PendSV_Handler(void)
00133 {
00134 }
00135 
00136 /**
00137   * @brief  This function handles SysTick Handler.
00138   * @param  None
00139   * @retval None
00140   */
00141 void SysTick_Handler(void)
00142 {
00143   TimingDelay--;
00144 }
00145 
00146 /******************************************************************************/
00147 /*            STM32F10x Peripherals Interrupt Handlers                        */
00148 /******************************************************************************/
00149 
00150 /**
00151   * @brief  This function handles External lines 9 to 5 interrupt request.
00152   * @param  None
00153   * @retval None
00154   */
00155 void EXTI9_5_IRQHandler(void)
00156 {
00157   if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET)
00158   { 
00159     /* Clear the Key Button EXTI line pending bit */  
00160     EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE);
00161 
00162     /* Toggle LED2 */
00163     STM_EVAL_LEDToggle(LED2);
00164   }
00165 }
00166 
00167 /**
00168   * @brief  This function handles RTC Alarm interrupt request.
00169   * @param  None
00170   * @retval None
00171   */
00172 void RTCAlarm_IRQHandler(void)
00173 {
00174   if(RTC_GetITStatus(RTC_IT_ALR) != RESET)
00175   {
00176     /* Toggle LED3 */
00177     STM_EVAL_LEDToggle(LED3);
00178 
00179     /* Clear EXTI line17 pending bit */
00180     EXTI_ClearITPendingBit(EXTI_Line17);
00181 
00182     /* Check if the Wake-Up flag is set */
00183     if(PWR_GetFlagStatus(PWR_FLAG_WU) != RESET)
00184     {
00185       /* Clear Wake Up flag */
00186       PWR_ClearFlag(PWR_FLAG_WU);
00187     }
00188 
00189     /* Wait until last write operation on RTC registers has finished */
00190     RTC_WaitForLastTask();   
00191     /* Clear RTC Alarm interrupt pending bit */
00192     RTC_ClearITPendingBit(RTC_IT_ALR);
00193     /* Wait until last write operation on RTC registers has finished */
00194     RTC_WaitForLastTask();
00195   }
00196 }
00197 
00198 /******************************************************************************/
00199 /*                 STM32F10x Peripherals Interrupt Handlers                   */
00200 /*  Add here the Interrupt Handler for the used peripheral(s) (PPP), for the  */
00201 /*  available peripheral interrupt handler's name please refer to the startup */
00202 /*  file (startup_stm32f10x_xx.s).                                            */
00203 /******************************************************************************/
00204 
00205 /**
00206   * @brief  This function handles PPP interrupt request.
00207   * @param  None
00208   * @retval None
00209   */
00210 /*void PPP_IRQHandler(void)
00211 {
00212 }*/
00213 
00214 /**
00215   * @}
00216   */
00217 
00218 /**
00219   * @}
00220   */
00221 
00222 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
STM32F10x Standard Peripherals Library: Footer

 

 

 

      For complete documentation on STM32(CORTEX M3) 32-bit Microcontrollers platform visit  www.st.com/STM32