/** ****************************************************************************** * @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c * @author MCD Application Team * @version V3.4.0 * @date 10/15/2010 * @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. * *

© COPYRIGHT 2010 STMicroelectronics

*/ /* Includes ------------------------------------------------------------------*/ #include "includes.h" /** @addtogroup STM32F10x_StdPeriph_Template * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* 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 SVCall exception. * @param None * @retval None */ void SVC_Handler(void) { } /** * @brief This function handles Debug Monitor exception. * @param None * @retval None */ void DebugMon_Handler(void) { } /** * @brief This function handles PendSVC exception. * @param None * @retval None */ void PendSV_Handler(void) { } /** * @brief This function handles SysTick Handler. * @param None * @retval None */ void SysTick_Handler(void) { BSP_SysTick(); //TimingDelay_Decrement(); } /******************************************************************************* * Function Name : TIM2_IRQHandler * Description : This function handles TIM2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM2_IRQHandler(void) { if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); } } /******************************************************************************* * Function Name : TIM3_IRQHandler * Description : This function handles TIM3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM3_IRQHandler(void) { // Pwm_Int(); TIM3->SR=0; } /******************************************************************************* * Function Name : USART1_IRQHandler * Description : This function handles USART1 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART1_IRQHandler(void) { MPU_UartInt(); } /******************************************************************************* * Function Name : USART2_IRQHandler * Description : This function handles USART2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART2_IRQHandler(void) { //Obd_UartInt(); } /******************************************************************************* * Function Name : USART3_IRQHandler * Description : This function handles USART3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART3_IRQHandler(void) { //GSM_UartInt(); } /******************************************************************************* * Function Name : UART4_IRQHandler * Description : This function handles UART4 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void UART4_IRQHandler(void) { //GSM_UartInt(); //gps_UartInt(); } /******************************************************************************* * Function Name : UART5_IRQHandler * Description : This function handles UART5 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void UART5_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI1_IRQHandler * Description : This function handles External lines 1 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI1_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line1) == SET) { if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0)//PA1 ACC INPUT// { } EXTI_ClearITPendingBit(EXTI_Line1); } } /******************************************************************************* * Function Name : EXTI15_10_IRQHandler * Description : This function handles External lines 15 to 10 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI9_5_IRQHandler(void) { //Trace("555555555555555555555555555555555555555555555555555"); if(EXTI_GetITStatus(EXTI_Line5) == SET) //PB6 SOS Key// { EXTI_ClearITPendingBit(EXTI_Line5); } } /******************************************************************************* * Function Name : EXTI15_10_IRQHandler * Description : This function handles External lines 15 to 10 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line11) == SET) { if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11)==0)//PA11 CAN1 RX INPUT// { } EXTI_ClearITPendingBit(EXTI_Line11); } if(EXTI_GetITStatus(EXTI_Line12) == SET) { if (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0)//PB12 CAN2 RX INPUT// { } EXTI_ClearITPendingBit(EXTI_Line11); } } /******************************************************************************/ /* 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) { }*/ /** * @} */ /******************************************************************************* * Function Name : ADC1_2_IRQHandler * Description : This function handles ADC1 and ADC2 global interrupts requests. * Input : None * Output : None * Return : None *******************************************************************************/ void ADC1_2_IRQHandler(void) { if (ADC_GetITStatus(ADC1, ADC_IT_AWD) != RESET) { /* Clear ADC1 AWD pending interrupt bit */ ADC_ClearITPendingBit(ADC1, ADC_IT_AWD); if(!AdcWtdg.AccOningFg) { AdcWtdg.cnt = 0; AdcWtdg.AccOningFg = TRUE; GetSysTick((u32 *) &AdcWtdg.time); } AdcWtdg.cnt ++; } } #if 0 /******************************************************************************* * Function Name : RTC_IRQHandler * Description : This function handles RTC global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void RTC_IRQHandler(void) { if (RTC_GetITStatus(RTC_IT_SEC) != RESET) { /* Clear the RTC Second interrupt */ RTC_ClearITPendingBit(RTC_IT_SEC); RTC_WaitForLastTask(); } else if (RTC_GetITStatus(RTC_IT_ALR) != RESET) { /* Clear the RTC Second interrupt */ RTC_ClearITPendingBit(RTC_IT_ALR); RTC_WaitForLastTask(); } } #endif void RTCAlarm_IRQHandler(void) { EXTI_ClearITPendingBit(EXTI_Line17); } #if 0 #if CAN1_RX0_INT_ENABLE //使能RX0中断 //中断服务函数 void CAN1_RX0_IRQHandler(void) { CanRxMsg RxMessage; //int i=0; CAN_Receive(CAN1, CAN_FIFO0, &RxMessage); //for(i=0;i<8;i++) //printf("rxbuf[%d]:%d\r\n",i,RxMessage.Data[i]); } #endif #if CAN2_RX0_INT_ENABLE //使能RX0中断 //中断服务函数 void CAN2_RX0_IRQHandler(void) { CanRxMsg RxMessage; //int i=0; CAN_Receive(CAN2, CAN_FIFO0, &RxMessage); //for(i=0;i<8;i++) //printf("rxbuf[%d]:%d\r\n",i,RxMessage.Data[i]); } #endif #endif /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/