[STM8] 跳不出while循环的问题

[复制链接]
 楼主| Cjy_JDxy 发表于 2018-2-1 11:00 | 显示全部楼层 |阅读模式
2.png
我用STM8S207C8T6写程序,开发环境IAR.
仿真,flag=0x02,运行到break,按说下一步就跳出while循环了。
可是很奇怪,跳不出去。高手看看,怎么回事?谢谢!



评论

xch
没看见你想跳槽的那个while循环。 看见的两个while都是无关的  发表于 2018-2-1 11:17
风雨潇潇 发表于 2018-2-1 11:02 | 显示全部楼层
谢谢分享
fengfeng的恒 发表于 2018-2-1 11:32 | 显示全部楼层
你的while循环在哪里?
kingkits 发表于 2018-2-1 11:38 | 显示全部楼层
只在此山中,云深不知处
mmuuss586 发表于 2018-2-1 11:44 | 显示全部楼层
recetivetime不为0的话,就会一直循环啊;
 楼主| Cjy_JDxy 发表于 2018-2-1 12:26 | 显示全部楼层
fengfeng的恒 发表于 2018-2-1 11:32
你的while循环在哪里?

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

评论

xch
如果是主函数的最外层while,break是无法实现的,所以也不会跳槽  发表于 2018-2-2 10:04
anobodykey 发表于 2018-2-1 12:45 | 显示全部楼层
因为你没有循环,所以不会跳
gujiamao12345 发表于 2018-2-1 12:56 | 显示全部楼层
上面是while(1) {
}么
 楼主| Cjy_JDxy 发表于 2018-2-1 13:45 | 显示全部楼层


while(i < Connect_num)
        {
sankyo_feng 发表于 2018-2-1 15:43 | 显示全部楼层
下个断点,调呗!有啥好问的
619888476 发表于 2018-2-2 09:46 | 显示全部楼层
不完整啊
caijie001 发表于 2018-2-2 10:18 | 显示全部楼层
while循环加个分号?跳出????你老师的GC板都压不住了
xyz549040622 发表于 2018-2-2 10:30 | 显示全部楼层
一个好的代码习惯是,加括号,你没加括号,看不出两个while循环之间和flag有什么关系。
 楼主| Cjy_JDxy 发表于 2018-2-2 11:27 | 显示全部楼层
caijie001 发表于 2018-2-2 10:18
while循环加个分号?跳出????你老师的GC板都压不住了

不是那个while
 楼主| Cjy_JDxy 发表于 2018-2-2 11:29 | 显示全部楼层
m564522634 发表于 2018-2-2 13:57 | 显示全部楼层
刚毕业 的吧,教你C语言的老师以前是不是卖麻辣烫的。
cjseng 发表于 2018-2-2 14:17 | 显示全部楼层
干脆用goto吧
 楼主| Cjy_JDxy 发表于 2018-2-2 14:28 | 显示全部楼层
m564522634 发表于 2018-2-2 13:57
刚毕业 的吧,教你C语言的老师以前是不是卖麻辣烫的。

不是啊!哪儿写的不行?
cxz_00 发表于 2018-2-2 15:42 | 显示全部楼层

你的函数不管你是否连接tcp成功,返回值只能是0
xcvista 发表于 2018-2-2 16:38 | 显示全部楼层
尝试一下这种写法:
  1. if (!(flag = Search_Str(Receive_Buffer, "CONNECT OK", Receive_Cnt, 10)))
  2.     break;

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

另外,仔细检查字符串里面是不是需要“\r\n”,代码是不是会发生缓存溢出之类问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

553

主题

3530

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部