STM32F10x_StdPeriph_Examples/BKP/Tamper/stm32f10x_it.c

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    BKP/Tamper/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 "main.h"
00026 
00027 /** @addtogroup STM32F10x_StdPeriph_Examples
00028   * @{
00029   */
00030 
00031 /** @addtogroup BKP_Tamper
00032   * @{
00033   */ 
00034 
00035 /* Private typedef -----------------------------------------------------------*/
00036 /* Private define ------------------------------------------------------------*/
00037 /* Private macro -------------------------------------------------------------*/
00038 /* Private variables ---------------------------------------------------------*/
00039 /* Private function prototypes -----------------------------------------------*/
00040 /* Private functions ---------------------------------------------------------*/
00041 
00042 /******************************************************************************/
00043 /*            Cortex-M3 Processor Exceptions Handlers                         */
00044 /******************************************************************************/
00045 
00046 /**
00047   * @brief  This function handles NMI exception.
00048   * @param  None
00049   * @retval None
00050   */
00051 void NMI_Handler(void)
00052 {
00053 }
00054 
00055 /**
00056   * @brief  This function handles Hard Fault exception.
00057   * @param  None
00058   * @retval None
00059   */
00060 void HardFault_Handler(void)
00061 {
00062   /* Go to infinite loop when Hard Fault exception occurs */
00063   while (1)
00064   {
00065   }
00066 }
00067 
00068 /**
00069   * @brief  This function handles Memory Manage exception.
00070   * @param  None
00071   * @retval None
00072   */
00073 void MemManage_Handler(void)
00074 {
00075   /* Go to infinite loop when Memory Manage exception occurs */
00076   while (1)
00077   {
00078   }
00079 }
00080 
00081 /**
00082   * @brief  This function handles Bus Fault exception.
00083   * @param  None
00084   * @retval None
00085   */
00086 void BusFault_Handler(void)
00087 {
00088   /* Go to infinite loop when Bus Fault exception occurs */
00089   while (1)
00090   {
00091   }
00092 }
00093 
00094 /**
00095   * @brief  This function handles Usage Fault exception.
00096   * @param  None
00097   * @retval None
00098   */
00099 void UsageFault_Handler(void)
00100 {
00101   /* Go to infinite loop when Usage Fault exception occurs */
00102   while (1)
00103   {
00104   }
00105 }
00106 
00107 /**
00108   * @brief  This function handles SVCall exception.
00109   * @param  None
00110   * @retval None
00111   */
00112 void SVC_Handler(void)
00113 {
00114 }
00115 
00116 /**
00117   * @brief  This function handles Debug Monitor exception.
00118   * @param  None
00119   * @retval None
00120   */
00121 void DebugMon_Handler(void)
00122 {
00123 }
00124 
00125 /**
00126   * @brief  This function handles PendSV_Handler exception.
00127   * @param  None
00128   * @retval None
00129   */
00130 void PendSV_Handler(void)
00131 {
00132 }
00133 
00134 /**
00135   * @brief  This function handles SysTick Handler.
00136   * @param  None
00137   * @retval None
00138   */
00139 void SysTick_Handler(void)
00140 {
00141 }
00142 
00143 /******************************************************************************/
00144 /*            STM32F10x Peripherals Interrupt Handlers                        */
00145 /******************************************************************************/
00146 
00147 /**
00148   * @brief  This function handles Tamper interrupt request. 
00149   * @param  None
00150   * @retval None
00151   */
00152 void TAMPER_IRQHandler(void)
00153 {
00154   if(BKP_GetITStatus() != RESET)
00155   { /* Tamper detection event occured */
00156 
00157     /* Check if Backup registers are cleared */
00158     if(IsBackupRegReset() == 0)
00159     {/* OK, Backup registers are reset as expected */
00160 
00161       /* Turn on LED3 */
00162       STM_EVAL_LEDOn(LED3);
00163     }
00164     else
00165     {/* Backup registers are not reset */
00166       /* Turn on LED4 */
00167       STM_EVAL_LEDOn(LED4);
00168     }
00169 
00170     /* Clear Tamper pin interrupt pending bit */
00171     BKP_ClearITPendingBit();
00172 
00173     /* Clear Tamper pin Event(TE) pending flag */
00174     BKP_ClearFlag();
00175 
00176     /* Disable Tamper pin */
00177     BKP_TamperPinCmd(DISABLE);
00178     
00179     /* Enable Tamper pin */
00180     BKP_TamperPinCmd(ENABLE);
00181       
00182   }
00183 }
00184 
00185 /******************************************************************************/
00186 /*                 STM32F10x Peripherals Interrupt Handlers                   */
00187 /*  Add here the Interrupt Handler for the used peripheral(s) (PPP), for the  */
00188 /*  available peripheral interrupt handler's name please refer to the startup */
00189 /*  file (startup_stm32f10x_xx.s).                                            */
00190 /******************************************************************************/
00191 
00192 /**
00193   * @brief  This function handles PPP interrupt request.
00194   * @param  None
00195   * @retval None
00196   */
00197 /*void PPP_IRQHandler(void)
00198 {
00199 }*/
00200 
00201 /**
00202   * @}
00203   */ 
00204 
00205 /**
00206   * @}
00207   */ 
00208 
00209 /******************* (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