打印
[STM8]

跳不出while循环的问题

[复制链接]
4068|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

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



评论
xch 2018-2-1 11:17 回复TA
没看见你想跳槽的那个while循环。 看见的两个while都是无关的 
沙发
风雨潇潇| | 2018-2-1 11:02 | 只看该作者
谢谢分享

使用特权

评论回复
板凳
fengfeng的恒| | 2018-2-1 11:32 | 只看该作者
你的while循环在哪里?

使用特权

评论回复
地板
kingkits| | 2018-2-1 11:38 | 只看该作者
只在此山中,云深不知处

使用特权

评论回复
5
mmuuss586| | 2018-2-1 11:44 | 只看该作者
recetivetime不为0的话,就会一直循环啊;

使用特权

评论回复
6
Cjy_JDxy|  楼主 | 2018-2-1 12:26 | 只看该作者
fengfeng的恒 发表于 2018-2-1 11:32
你的while循环在哪里?

while在上边,没显示出来。这些都是while循环里的。

使用特权

评论回复
评论
xch 2018-2-2 10:04 回复TA
如果是主函数的最外层while,break是无法实现的,所以也不会跳槽 
7
anobodykey| | 2018-2-1 12:45 | 只看该作者
因为你没有循环,所以不会跳

使用特权

评论回复
8
gujiamao12345| | 2018-2-1 12:56 | 只看该作者
上面是while(1) {
}么

使用特权

评论回复
9
Cjy_JDxy|  楼主 | 2018-2-1 13:45 | 只看该作者


while(i < Connect_num)
        {

使用特权

评论回复
10
sankyo_feng| | 2018-2-1 15:43 | 只看该作者
下个断点,调呗!有啥好问的

使用特权

评论回复
11
619888476| | 2018-2-2 09:46 | 只看该作者
不完整啊

使用特权

评论回复
12
caijie001| | 2018-2-2 10:18 | 只看该作者
while循环加个分号?跳出????你老师的GC板都压不住了

使用特权

评论回复
13
xyz549040622| | 2018-2-2 10:30 | 只看该作者
一个好的代码习惯是,加括号,你没加括号,看不出两个while循环之间和flag有什么关系。

使用特权

评论回复
14
Cjy_JDxy|  楼主 | 2018-2-2 11:27 | 只看该作者
caijie001 发表于 2018-2-2 10:18
while循环加个分号?跳出????你老师的GC板都压不住了

不是那个while

使用特权

评论回复
15
Cjy_JDxy|  楼主 | 2018-2-2 11:29 | 只看该作者




使用特权

评论回复
16
m564522634| | 2018-2-2 13:57 | 只看该作者
刚毕业 的吧,教你C语言的老师以前是不是卖麻辣烫的。

使用特权

评论回复
17
cjseng| | 2018-2-2 14:17 | 只看该作者
干脆用goto吧

使用特权

评论回复
18
Cjy_JDxy|  楼主 | 2018-2-2 14:28 | 只看该作者
m564522634 发表于 2018-2-2 13:57
刚毕业 的吧,教你C语言的老师以前是不是卖麻辣烫的。

不是啊!哪儿写的不行?

使用特权

评论回复
19
cxz_00| | 2018-2-2 15:42 | 只看该作者

你的函数不管你是否连接tcp成功,返回值只能是0

使用特权

评论回复
20
xcvista| | 2018-2-2 16:38 | 只看该作者
尝试一下这种写法:
if (!(flag = Search_Str(Receive_Buffer, "CONNECT OK", Receive_Cnt, 10)))
    break;

这种代码利用了赋值语句的副作用来维持代码执行顺序。

另外,仔细检查字符串里面是不是需要“\r\n”,代码是不是会发生缓存溢出之类问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝