中断服务程序某值改变,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一次),与这个有关系吗?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
daska110
1楼-- · 2019-07-21 11:11
 精彩回答 2  元偷偷看……
daska110
2楼-- · 2019-07-21 16:55
回复【6楼】jiutianshenjian:
---------------------------------
这是现在的情况(代码在7楼),中断服务程序里关,main里开,关和开在一起是什么意思啊??
jiutianshenjian
3楼-- · 2019-07-21 20:10
我是这么认为的:
在哪里读写,在哪里开关吧。

关中断;
读变量值;
开中断;

判断变量;
YWilson
4楼-- · 2019-07-21 22:18
 精彩回答 2  元偷偷看……

一周热门 更多>