void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0)!=RESET) //如果按键1按下,相应中断位就被设置
{
Key_Number=Key1;
Led_Spark(Led1,1,LedOn);
Beep_State(1,BeepOn);
Key_Number=KeyNone;
EXTI_ClearITPendingBit(EXTI_Line0);
}
}
void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line13)!=RESET)
{
Key_Number=Key2;
Led_Spark(Led2,1,LedOn);
Beep_State(1,BeepOn);
Key_Number=KeyNone;
EXTI_ClearITPendingBit(EXTI_Line13);
}
}
void EXTI1_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line1)!=RESET)
{
Key_Number=Key3;
Led_Spark(Led3,1,LedOn);
Beep_State(1,BeepOn);
Key_Number=KeyNone;
EXTI_ClearITPendingBit(EXTI_Line1);
}
}
void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3)!=RESET)
{
Key_Number=Key4;
Led_Spark(Led4,1,LedOn);
Beep_State(1,BeepOn);
Key_Number=KeyNone;
EXTI_ClearITPendingBit(EXTI_Line3);
}
}
以上,基于STM32的IO控制就结束了,完成上面的代码,基本上就掌握了IO口的使用,当然AFIO除外了。这个会在后面的文章多次出现,初学者不要急。