[mw_shl_code=c,true]//按键中断
void USER_KEY_Init(void)
{
//首先我们把KEY的GPIO设置为输入中断使能
GPIO_Init(GPIOB,GPIO_Pin_1,GPIO_Mode_In_PU_IT);
//然后配置中断1为下降沿低电平触发
EXTI_SetPinSensitivity(EXTI_Pin_1, EXTI_Trigger_Falling_Low);
// ITC_SetSoftwarePriority(EXTI1_IRQn, ITC_PriorityLevel_3);
//开全局中断
enableInterrupts();
}
//按键中断服务函数
INTERRUPT_HANDLER(EXTI1_IRQHandler, 9)
{
while(!KEY1);
Delay(5000);
while(!KEY1);
GPIO_ToggleBits(GPIOB, GPIO_Pin_0);
GPIO_ToggleBits(GPIOB, GPIO_Pin_2);
EXTI_ClearITPendingBit(EXTI_IT_Pin1);
}
void USER_Chuanganqi1_Init(void)
{
GPIO_Init(GPIOC, GPIO_Pin_4 , GPIO_Mode_In_PU_IT);
EXTI_DeInit();
EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling_Low);
//ITC_SetSoftwarePriority(EXTI4_IRQn, ITC_PriorityLevel_3);
//开全局中断
enableInterrupts();
}
//PC4中断服务函数
INTERRUPT_HANDLER(EXTI4_IRQHandler, 12)
{
while(!GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_4));
Delay(500);
while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_4));
GPIO_ToggleBits(GPIOB, GPIO_Pin_2);
GPIO_ToggleBits(GPIOB, GPIO_Pin_0);;
EXTI_ClearITPendingBit(EXTI_IT_Pin4);
}
void USER_Chuanganqi2_Init(void)
{
//首先我们把KEY的GPIO设置为输入中断使能
GPIO_Init(GPIOD,GPIO_Pin_0,GPIO_Mode_In_PU_IT);
EXTI_DeInit();
//然后配置中断1为下降沿低电平触发
EXTI_SetPinSensitivity(EXTI_Pin_0, EXTI_Trigger_Falling_Low);
//ITC_SetSoftwarePriority(EXTI0_IRQn, ITC_PriorityLevel_2);
//开全局中断
enableInterrupts();
}
//PD0中断服务函数
INTERRUPT_HANDLER(EXTI0_IRQHandler, 8)
{
while(!GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0));
Delay(5000);
while(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0));
GPIO_ToggleBits(GPIOB, GPIO_Pin_2);
GPIO_ToggleBits(GPIOB, GPIO_Pin_0);;
EXTI_ClearITPendingBit(EXTI_IT_Pin0);
}
[/mw_shl_code]
只有PC4这个IO口能触发中断,请帮忙看下 |