首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇怪的if条件

奇怪的if条件
EN

Stack Overflow用户
提问于 2011-11-22 03:34:44
回答 1查看 186关注 0票数 1

我正在使用Atom 32位开发MicroC。我声明了两个堆栈大小为0x100的任务(足够我的任务使用)。当我在我的一个任务中调用一个函数时,我检查它的if条件:

代码语言:javascript
复制
if (OSSchedLockNestingCtr > (OS_NESTING_CTR)0u) 
{ 
   *p_err = OS_ERR_SCHED_LOCKED;
   return;
}

即使是OSSchedLockNestingCtr == 0,代码也会进入!我检查esp,esp在堆栈表中,所以我没有堆栈溢出。即使条件为假,如何进入if分支?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-22 22:43:19

解决:我找到它了,中断函数是自动运行的(1秒内5次中断)当我一步一步地手动操作时,不知何故变量取了其他值(interrupt -> ISR ->将一些数据放回卡住的->中回到我的函数-> wierd -> :))。10倍于你们所有人

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8217471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档