ucosii操作系统下,exit中断跑飞

硬件:stm32f106vc
操作系统:ucosii
实现功能:按键中断
现象:配置完按键、中断后,进入中断死机。
原代码如下:

void EXTI0_IRQHandler(void)//WK_UP KEY3 PA0 { delay_ms(10); if(KEY3==1) { //BEEP=!BEEP; } EXTI_ClearITPendingBit(EXTI_Line0); }

【ucosii操作系统下,exit中断跑飞】跑飞如下:
void HardFault_Handler(void) { /* Go to infinite loop when Hard Fault exception occurs */ while (1) { } }

原因:没有在中断中加入操作系统有关语句。
修改程序如下后正常运行:
void EXTI0_IRQHandler(void)//WK_UP KEY3 PA0 { OSIntEnter(); delay_ms(10); if(KEY3==1)//WK_UP { //BEEP=!BEEP; } EXTI_ClearITPendingBit(EXTI_Line0); OSIntExit(); }

OSIntEnter() 与 OSIntExit()

    推荐阅读