中断服务程序某值改变,main函数检测不到?

2019-07-20 12:52发布

中断服务程序如下
[mw_shl_code=c,true]int IO_Digital_Flag=0; //加入响应函数 void EXTI1_IRQHandler(void) { if(SET == EXTI_GetITStatus(EXTI_Line1)) //此处可以判断是哪个中断line,因为不同中断线可能对应相同的中断向量 { IO_Digital_Flag = 1; EXTI_ClearITPendingBit(EXTI_Line1); } }[/mw_shl_code] main函数如下:
[mw_shl_code=c,true]while(1) { for(i=0;i<=1959;i++) { if(IO_Digital_Flag == 1) { IO_Digital_Flag=0; //清0 i_PA0 = i; //把i留下,保存到i_PA0里 for(j=40;j<=380;j++) { rising_edge[j-40] = CommQueue.Buffer[i+(j-40)];             } } break; //跳出for循环 } i=0; //i清0 }[/mw_shl_code]
断点执行到“中断服务程序的IO_Digital_Flag = 1;”时,
但main函数断点执行不到  “
if(IO_Digital_Flag == 1)” 

这个中断很频繁(5ms一次),与这个有关系吗?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。