#include "exti.h"
#include "led.h"
#include "delay.h"
#include "usart.h"
#include "lcd.h"
u32 T1,T2,T3,T4;
char num;
void EXTI1_IRQHandler(void)
{
EXTI->

R=1<<1;
LED0=!LED0;
T1=TIM2->CNT;
EXTI->IMR=0<<1;//屏蔽外部中断
num++;
// LCD_ShowNum(30,50,T1,5,16);
}
void EXTI2_IRQHandler(void)
{
EXTI->

R=1<<2;
// LED1=!LED1;
T2=TIM2->CNT;
// LCD_ShowNum(30,70,T2,5,16);
EXTI->IMR=0<<2;//屏蔽外部中断
num++;
}
void EXTI3_IRQHandler(void)
{
EXTI->

R=1<<3;
// LED0=!LED0;
// LED1=!LED1;
T3=TIM2->CNT;
// LCD_ShowNum(30,90,T3,5,16);
EXTI->IMR=0<<3;//屏蔽外部中断
num++;
}
void EXTI4_IRQHandler(void)
{
EXTI->

R=1<<4;
T4=TIM2->CNT;
EXTI->IMR=0<<4;//屏蔽外部中断
num++;
// LCD_ShowNum(30,110,T4,5,16);
}
void EXTIX_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD
GPIOA->CRL&=0XFFF0000F;//PA1-4设置成输入
GPIOA->CRL|=0X00088880;
GPIOA->ODR|=1<<1; //PA1-4上拉
GPIOA->ODR|=1<<2; //
GPIOA->ODR|=1<<3; //PA1-4上拉
GPIOA->ODR|=1<<4; //
Ex_NVIC_Config(GPIO_A,1,FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A,2,FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A,3,FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A,4,FTIR);//下降沿触发
MY_NVIC_Init(2,2,EXTI1_IRQChannel,2);//抢占2,子优先级2,组2
MY_NVIC_Init(2,2,EXTI2_IRQChannel,2);//抢占2,子优先级1,组2
MY_NVIC_Init(2,1,EXTI3_IRQChannel,2);//抢占2,子优先级1,组2
MY_NVIC_Init(2,1,EXTI4_IRQChannel,2);//抢占2,子优先级1,组2
}
void display(void)
{
LCD_ShowNum(30,50,T1,5,16);
LCD_ShowNum(30,70,T2,5,16);
LCD_ShowNum(30,90,T3,5,16);
LCD_ShowNum(30,110,T4,5,16);
EXTI->IMR=1<<1; //开启外部中断
EXTI->IMR=1<<2;
EXTI->IMR=1<<3;
EXTI->IMR=1<<4;
}
void panduan(void)
{
if(num==4)
{
TIM2->CR1&=0xFE; //关闭TIM2
TIM2->CNT=0; //清零TIM2
num=0;
display();
}
}