while的奇怪问题

2019-07-25 13:53发布

c6416我在外中断设置了一个变量{xfer=0xaa,次数1++}在主程序while(1)里面有个小程序块while(xfer!=0xaa){语句1;语句2}xfer=0;次数2++;奇怪的问题是在几十次拷机时发现:次数1的个数有时多于次数2,而对于xfer=0xaa只在外中断里面出现,也就是说有外中断里面把xfer置成0xaa,却未跳出while(xfer!=0xaa).已经排除其他中断影响了该外中断,且外中断时间间隔也大于while(xfer!=0xaa){语句1;语句2}xfer=0;次数2++;及后面若干语句执行的时间
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
andyjian
1楼-- · 2019-07-25 17:02
不知道说的什么,能更详细点吗?
fzzahm
2楼-- · 2019-07-25 21:08
问题是这样的,在外中断的服务程序里面设置了某变量等于一个值,在main函数里面有while(该变量不等于该值)的判断,其实就是在跟踪这个变量的变化,后来发现中断中的改变次数,多于while程序块的执行次数。今天发现可能还是while程序有些时长不确定的执行步骤影响了。

一周热门 更多>