⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32f10x_it.c

📁 STM32驱动nrf24l01
💻 C
字号:
/**
  ******************************************************************************
  * @file    GPIO/IOToggle/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.
  *
  * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>
  */

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_it.h"
#include "config.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_usart.h"
#include "custom.h"
#include "main.h"
#include "gui.h"


extern uchar T2;
extern uchar It1;
extern uchar It6;
extern uchar s;
extern uint tt; //for循环专用
extern uint temp; //装除数
extern uint test;//独立计算时使用
extern uchar num[];

/** @addtogroup STM32F10x_StdPeriph_Examples
  * @{
  */

/** @addtogroup GPIO_IOToggle
  * @{
  */

/* 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 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)
{
}

void TIM2_IRQHandler(void)
{
	//static uchar send_falg = 0;
	T2 = 1;
	s++;
	if(s == 60)
		s = 0;

	TIM_ClearFlag(TIM2,TIM_FLAG_Update);
}

void USART1_IRQHandler(void) 
{ 
	//接收中断 
	//static char temp1,temp2;
	//wd = -111;
	if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
	{ 
		USART_ClearITPendingBit(USART1,USART_IT_RXNE); 
		//Uart1_Get_Data=USART_ReceiveData(USART1); 
		//Uart1_Get_Flag=1; 
	} 
	//溢出-如果发生溢出需要先读 SR,再读 DR 寄存器则可清除不断入中断的问题[牛人说要这样] 
	/*
	if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)==SET)
	{ 
		USART_ClearFlag(USART1,USART_FLAG_ORE); //读 SR 其实就是清除标志
		USART_ReceiveData(USART1); //读 DR 
	} 
	*/
} 

void EXTI1_IRQHandler(void)
{  
  if(EXTI_GetITStatus(EXTI_Line1) != RESET)
  {
    //GPIO_ResetBits(GPIOA, GPIO_Pin_1);
		It1 = 1; 
    EXTI_ClearITPendingBit(EXTI_Line1);
  }
}


void EXTI9_5_IRQHandler(void)
{// unsigned char  t=0;//不能直接读取PEN?	 
  //GPIO_ResetBits(GPIOB, GPIO_Pin_5);   
  if(EXTI_GetITStatus(EXTI_Line6) != RESET)
  {
     GPIO_ResetBits(GPIOC, GPIO_Pin_7);   								 	 	   			    
    //中断后延时以消除抖动,使得采样数据更准确  
   	//delay_ms(100);
	//t=PEN; 
	It6 = 1;
	//if(t==0){
	 //do		 
	 //{	
		
	// 	t=PEN;
	//	Read_Ads7843();			  		   	  
	// }while(t==0);					   
	//}
	//EXTI->PR=1<<1;        //清除中断标志位 
	//	    //标志

    EXTI_ClearITPendingBit(EXTI_Line6);
  }
}

/******************************************************************************/
/*                 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 2010 STMicroelectronics *****END OF FILE****/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -