51单片机c编程中while语句为什么跳不出循环?

2024-11-04 21:44:38
推荐回答(3个)
回答1:

大哥,单片机的执行流程就是执行到最后一条后,跳回第一行再次执行,你那main里面又没有while(1),它跳出while后就回到HZ=200,重新开始了。
单片机不像PC上的软件一样,PC上编C语言,执行完成后就自动结束了,而单片机会重复运行

回答2:

你好:
你的main函数里就while(zkb<+400)这么一个while?或者这个while(zkb<+400)之后还有没有其他什么内容?

回答3:

有几点要检查:

  1. zkb的定义长度,防止自加的时候越界

  2. zkb可以考虑使用volatile修辞,防止编译器优化

  3. 检查看门狗是否有影响

  4. zkb<+400? zkb<=400?