我想知道如何制作IRQ处理程序,它可以在按下每个按钮时做出不同的反应。
我想以这种方式做到这一点:
void EXTI9_5_IRQHandler(){
if (EXTI_GetITStatus(EXTI_Line_5)){
doThis();
} else if (EXTI_GetITStatus(EXTI_Line_6)) {
doThat();
}
}
我不知道如何将多个按钮连接到一个中断,这是我最糟糕的问题:(
答案 0 :(得分:0)
这就是原则。我对std外围设备不太熟悉,但我想知道EXTI_GetFlagStatus
在你的情况下是否会更好。另外不要忘记清除中断标志。
您的代码应如下所示:
void EXTI9_5_IRQHandler(){
if (EXTI_GetITStatus(EXTI_Line_5)){
EXTI_ClearFlag(EXTI_Line_5);
doThis();
} else if (EXTI_GetITStatus(EXTI_Line_6)) {
EXTI_ClearFlag(EXTI_Line_6);
doThat();
}
}