void Exti_Init()
{
NVIC_InitTypeDef NVIC_InitStruct;
EXTI_InitTypeDef EXTI_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//使能SYSCFG时钟
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource0);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource1);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource2);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource3);
EXTI_InitStruct.EXTI_Line=EXTI_Line0|EXTI_Line1|EXTI_Line2|EXTI_Line3;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStruct);
NVIC_InitStruct.NVIC_IRQChannel = EXTI0_IRQn;//外部中断0
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0x03;//抢占优先级3
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0x02;//子优先级2
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道
NVIC_Init(&NVIC_InitStruct);//配置
NVIC_InitStruct.NVIC_IRQChannel = EXTI1_IRQn;//外部中断1
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0x03;//抢占优先级3
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0x02;//子优先级2
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道
NVIC_Init(&NVIC_InitStruct);//配置
NVIC_InitStruct.NVIC_IRQChannel = EXTI2_IRQn;//外部中断2
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0x01;//抢占优先级1
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0x02;//子优先级2
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道
NVIC_Init(&NVIC_InitStruct);//配置
NVIC_InitStruct.NVIC_IRQChannel = EXTI3_IRQn;//外部中断3
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0x01;//抢占优先级1
NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0x02;//子优先级2
NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道
NVIC_Init(&NVIC_InitStruct);//配置
}