/taxi_v1.2/Project/Examples/TIM/TimeBase/stm32f10x_it.c
C | 213 lines | 68 code | 26 blank | 119 comment | 12 complexity | 3e8cc472e632304899e544200feb9203 MD5 | raw file
- /**
- ******************************************************************************
- * @file TIM/TimeBase/stm32f10x_it.c
- * @author MCD Application Team
- * @version V3.0.0
- * @date 04/06/2009
- * @brief Main Interrupt Service Routines.
- * This file provides template for all exceptions handler and
- * peripherals interrupt service routine.
- ******************************************************************************
- * @copy
- *
- * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
- * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
- * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
- * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
- * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
- * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *
- * <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
- */
-
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f10x_it.h"
-
- /** @addtogroup StdPeriph_Examples
- * @{
- */
-
- /** @addtogroup TIM_TimeBase
- * @{
- */
-
- /* Private typedef -----------------------------------------------------------*/
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- uint16_t capture = 0;
- extern __IO uint16_t CCR1_Val;
- extern __IO uint16_t CCR2_Val;
- extern __IO uint16_t CCR3_Val;
- extern __IO uint16_t CCR4_Val;
-
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
-
- /******************************************************************************/
- /* Cortex-M3 Processor Exceptions Handlers */
- /******************************************************************************/
-
- /**
- * @brief This function handles NMI exception.
- * @param None
- * @retval : None
- */
- void NMI_Handler(void)
- {
- }
-
- /**
- * @brief This function handles Hard Fault exception.
- * @param None
- * @retval : None
- */
- void HardFault_Handler(void)
- {
- /* Go to infinite loop when Hard Fault exception occurs */
- while (1)
- {}
- }
-
- /**
- * @brief This function handles Memory Manage exception.
- * @param None
- * @retval : None
- */
- void MemManage_Handler(void)
- {
- /* Go to infinite loop when Memory Manage exception occurs */
- while (1)
- {}
- }
-
- /**
- * @brief This function handles Bus Fault exception.
- * @param None
- * @retval : None
- */
- void BusFault_Handler(void)
- {
- /* Go to infinite loop when Bus Fault exception occurs */
- while (1)
- {}
- }
-
- /**
- * @brief This function handles Usage Fault exception.
- * @param None
- * @retval : None
- */
- void UsageFault_Handler(void)
- {
- /* Go to infinite loop when Usage Fault exception occurs */
- while (1)
- {}
- }
-
- /**
- * @brief This function handles Debug Monitor exception.
- * @param None
- * @retval : None
- */
- void DebugMon_Handler(void)
- {}
-
- /**
- * @brief This function handles SVCall exception.
- * @param None
- * @retval : None
- */
- void SVC_Handler(void)
- {}
-
- /**
- * @brief This function handles PendSV_Handler exception.
- * @param None
- * @retval : None
- */
- void PendSV_Handler(void)
- {}
-
- /**
- * @brief This function handles SysTick Handler.
- * @param None
- * @retval : None
- */
- void SysTick_Handler(void)
- {}
-
- /******************************************************************************/
- /* STM32F10x Peripherals Interrupt Handlers */
- /******************************************************************************/
-
- /**
- * @brief This function handles TIM2 global interrupt request.
- * @param None
- * @retval : None
- */
- void TIM2_IRQHandler(void)
- {
- if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)
- {
- TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);
-
- /* Pin PC.06 toggling with frequency = 73.24 Hz */
- GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));
- capture = TIM_GetCapture1(TIM2);
- TIM_SetCompare1(TIM2, capture + CCR1_Val);
- }
- else if (TIM_GetITStatus(TIM2, TIM_IT_CC2) != RESET)
- {
- TIM_ClearITPendingBit(TIM2, TIM_IT_CC2);
-
- /* Pin PC.07 toggling with frequency = 109.8 Hz */
- GPIO_WriteBit(GPIOC, GPIO_Pin_7, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_7)));
- capture = TIM_GetCapture2(TIM2);
- TIM_SetCompare2(TIM2, capture + CCR2_Val);
- }
- else if (TIM_GetITStatus(TIM2, TIM_IT_CC3) != RESET)
- {
- TIM_ClearITPendingBit(TIM2, TIM_IT_CC3);
-
- /* Pin PC.08 toggling with frequency = 219.7 Hz */
- GPIO_WriteBit(GPIOC, GPIO_Pin_8, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_8)));
- capture = TIM_GetCapture3(TIM2);
- TIM_SetCompare3(TIM2, capture + CCR3_Val);
- }
- else
- {
- TIM_ClearITPendingBit(TIM2, TIM_IT_CC4);
-
- /* Pin PC.09 toggling with frequency = 439.4 Hz */
- GPIO_WriteBit(GPIOC, GPIO_Pin_9, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_9)));
- capture = TIM_GetCapture4(TIM2);
- TIM_SetCompare4(TIM2, capture + CCR4_Val);
- }
- }
-
- /******************************************************************************/
- /* STM32F10x Peripherals Interrupt Handlers */
- /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
- /* available peripheral interrupt handler's name please refer to the startup */
- /* file (startup_stm32f10x_xx.s). */
- /******************************************************************************/
-
- /**
- * @brief This function handles PPP interrupt request.
- * @param None
- * @retval : None
- */
- /*void PPP_IRQHandler(void)
- {
- }*/
-
- /**
- * @}
- */
-
- /**
- * @}
- */
-
- /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/