3876|20

3050

帖子

0

资源

纯净的硅(中级)

跳不出while循环的问题 [复制链接]

 
2.png
我用STM8S207C8T6写程序,开发环境IAR.
仿真,flag=0x02,运行到break,按说下一步就跳出while循环了。
可是很奇怪,跳不出去。高手看看,怎么回事?谢谢!


此帖出自stm32/stm8论坛
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

1万

帖子

15

资源

版主

你在if前边打个断点看看flg是多少

点评

flg=2  详情 回复 发表于 2018-2-1 12:30
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

386

帖子

5

资源

一粒金砂(高级)

既然运行到break了,说明flg的判断已经成立了,但是根据楼主的截图不知道楼主想跳出哪个while?

点评

while在上边,没显示出来。 break在while里面  详情 回复 发表于 2018-2-1 12:31

回复

897

帖子

1

资源

纯净的硅(高级)

你想跳到哪去?你会不会用while循环?不会用你写程序就规范点,你在while后面打个分号你知道是什么意思吗?就是说,你这个循环是空的,判断完之后什么都不会执行,满足,一直停在这,不满足,才会过去,我看你的程序的意思应该是让它不满足,又怎么会执行后面的语句?

点评

不是那个while  详情 回复 发表于 2018-2-1 12:31

回复

7485

帖子

4945

资源

版主

根据你贴出的程序,前两个while肯定跳出后才走到你的断点位置,所以你说的跳不出while应该是你没有贴出来的程序,break只能跳出一层循环,如果有多层,那程序还会再外层循环

点评

只有一层  详情 回复 发表于 2018-2-1 12:32

回复

3050

帖子

0

资源

纯净的硅(中级)

ddllxxrr 发表于 2018-2-1 11:05
你在if前边打个断点看看flg是多少

flg=2
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

3050

帖子

0

资源

纯净的硅(中级)

dong2213dong 发表于 2018-2-1 11:56
既然运行到break了,说明flg的判断已经成立了,但是根据楼主的截图不知道楼主想跳出哪个while?

while在上边,没显示出来。
break在while里面
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

3050

帖子

0

资源

纯净的硅(中级)

曹伟1993 发表于 2018-2-1 12:04
你想跳到哪去?你会不会用while循环?不会用你写程序就规范点,你在while后面打个分号你知道是什么意思吗? ...

不是那个while
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

3050

帖子

0

资源

纯净的硅(中级)

tiankai001 发表于 2018-2-1 12:05
根据你贴出的程序,前两个while肯定跳出后才走到你的断点位置,所以你说的跳不出while应该是你没有贴出来的 ...

只有一层
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

3652

帖子

11

资源

五彩晶圆(高级)

break用于 退出本层循环。你找到他所在的那一层。把层次关系理清楚。慢慢检查

回复

1571

帖子

0

资源

五彩晶圆(中级)

要么就多打几个断点,比如下面i++也打上,看是不是真的走到下一行了
如果真的能走到你断点指的这一行break,那必然是会跳出当前这一层while,说跳不出去只能是你判断错了

回复

3050

帖子

0

资源

纯净的硅(中级)

那个现象又不出现了。
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

7485

帖子

4945

资源

版主

根据你发的这几个帖子,可能是你的程序流程和数据处理有一些问题,即使不再出现,最好反复测试,或者把程序再恢复到之前出现问题时候的程序,然后比较和现在程序的却别,一定要找出来原因,这样才完美

点评

你说的有道理  详情 回复 发表于 2018-2-1 14:53

回复

3050

帖子

0

资源

纯净的硅(中级)

tiankai001 发表于 2018-2-1 14:49
根据你发的这几个帖子,可能是你的程序流程和数据处理有一些问题,即使不再出现,最好反复测试,或者把程序 ...

你说的有道理
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

630

帖子

20

资源

一粒金砂(高级)

我没看到循环.....

回复

1万

帖子

15

资源

版主

不应用break你用return看看能不能跳出

点评

跳出循环一般是break和continue,你说的return是结束返回,一般用于跳到函数结尾  详情 回复 发表于 2018-2-5 11:48
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

7485

帖子

4945

资源

版主

ddllxxrr 发表于 2018-2-1 19:11
不应用break你用return看看能不能跳出

跳出循环一般是break和continue,你说的return是结束返回,一般用于跳到函数结尾

点评

是,就是看一下能不能跳出,能跳说明break用错地方了。  详情 回复 发表于 2018-2-5 14:13

回复

1万

帖子

15

资源

版主

tiankai001 发表于 2018-2-5 11:48
跳出循环一般是break和continue,你说的return是结束返回,一般用于跳到函数结尾

是,就是看一下能不能跳出,能跳说明break用错地方了。
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

17

帖子

0

资源

一粒金砂(初级)

这点小问题也要来问,就不能自己调试看看?你这样是搞不成事的!

回复

570

帖子

235

资源

版主

楼主询问问题代码要贴全。
个人签名爱电子,爱生活

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表