STM32F0xx Standard Peripherals Firmware Library
|
STM32F0xx_StdPeriph_Examples/COMP/COMP_PulseWidthMeasurement/stm32f0xx_it.c
Go to the documentation of this file.
00001 /** 00002 ****************************************************************************** 00003 * @file COMP/COMP_PulseWidthMeasurement/stm32f0xx_it.c 00004 * @author MCD Application Team 00005 * @version V1.4.0 00006 * @date 24-July-2014 00007 * @brief Main Interrupt Service Routines. 00008 * This file provides template for all exceptions handler and 00009 * peripherals interrupt service routine. 00010 ****************************************************************************** 00011 * @attention 00012 * 00013 * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> 00014 * 00015 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 00016 * You may not use this file except in compliance with the License. 00017 * You may obtain a copy of the License at: 00018 * 00019 * http://www.st.com/software_license_agreement_liberty_v2 00020 * 00021 * Unless required by applicable law or agreed to in writing, software 00022 * distributed under the License is distributed on an "AS IS" BASIS, 00023 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00024 * See the License for the specific language governing permissions and 00025 * limitations under the License. 00026 * 00027 ****************************************************************************** 00028 */ 00029 00030 /* Includes ------------------------------------------------------------------*/ 00031 #include "stm32f0xx_it.h" 00032 00033 /** @addtogroup STM32F0xx_StdPeriph_Examples 00034 * @{ 00035 */ 00036 00037 /** @addtogroup COMP_PulseWidthMeasurement 00038 * @{ 00039 */ 00040 00041 /* Private typedef -----------------------------------------------------------*/ 00042 /* Private define ------------------------------------------------------------*/ 00043 /* Private macro -------------------------------------------------------------*/ 00044 /* Private variables ---------------------------------------------------------*/ 00045 extern __IO uint32_t Capture; 00046 extern __IO uint32_t DisplayActive; 00047 uint32_t CaptureCounter = 0; 00048 uint16_t IC4Value1 = 0; 00049 uint16_t IC4Value2 = 0; 00050 00051 /* Private function prototypes -----------------------------------------------*/ 00052 /* Private functions ---------------------------------------------------------*/ 00053 00054 /******************************************************************************/ 00055 /* Cortex-M0 Processor Exceptions Handlers */ 00056 /******************************************************************************/ 00057 00058 /** 00059 * @brief This function handles NMI exception. 00060 * @param None 00061 * @retval None 00062 */ 00063 void NMI_Handler(void) 00064 { 00065 } 00066 00067 /** 00068 * @brief This function handles Hard Fault exception. 00069 * @param None 00070 * @retval None 00071 */ 00072 void HardFault_Handler(void) 00073 { 00074 /* Go to infinite loop when Hard Fault exception occurs */ 00075 while (1) 00076 { 00077 } 00078 } 00079 00080 /** 00081 * @brief This function handles SVCall exception. 00082 * @param None 00083 * @retval None 00084 */ 00085 void SVC_Handler(void) 00086 { 00087 } 00088 00089 /** 00090 * @brief This function handles PendSVC exception. 00091 * @param None 00092 * @retval None 00093 */ 00094 void PendSV_Handler(void) 00095 { 00096 } 00097 00098 /** 00099 * @brief This function handles SysTick Handler. 00100 * @param None 00101 * @retval None 00102 */ 00103 void SysTick_Handler(void) 00104 { 00105 } 00106 00107 /******************************************************************************/ 00108 /* STM32F0xx Peripherals Interrupt Handlers */ 00109 /******************************************************************************/ 00110 /** 00111 * @brief This function handles TIM2 global interrupt. 00112 * @param None 00113 * @retval None 00114 */ 00115 void TIM2_IRQHandler(void) 00116 { 00117 00118 if (TIM_GetITStatus(TIM2, TIM_IT_CC4) == SET) 00119 { 00120 if (CaptureCounter == 0) 00121 { 00122 IC4Value1 = TIM_GetCapture4(TIM2); 00123 CaptureCounter = 1; 00124 } 00125 else if (CaptureCounter == 1) 00126 { 00127 CaptureCounter = 0; 00128 IC4Value2 = TIM_GetCapture4(TIM2); 00129 00130 if (IC4Value2 > IC4Value1) 00131 { 00132 Capture = (IC4Value2 - IC4Value1) - 1; 00133 } 00134 else 00135 { 00136 Capture = ((0xFFFF - IC4Value1) + IC4Value2) - 1; 00137 } 00138 DisplayActive = 1; 00139 } 00140 TIM_ClearITPendingBit(TIM2, TIM_IT_CC4); 00141 } 00142 } 00143 00144 00145 /******************************************************************************/ 00146 /* STM32F0xx Peripherals Interrupt Handlers */ 00147 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ 00148 /* available peripheral interrupt handler's name please refer to the startup */ 00149 /* file (startup_stm32f0xx.s). */ 00150 /******************************************************************************/ 00151 00152 /** 00153 * @brief This function handles PPP interrupt request. 00154 * @param None 00155 * @retval None 00156 */ 00157 /*void PPP_IRQHandler(void) 00158 { 00159 }*/ 00160 00161 /** 00162 * @} 00163 */ 00164 00165 /** 00166 * @} 00167 */ 00168 00169 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/