[STM8]

跳不出while循环的问题

[复制链接]
3302|33
手机看帖
扫描二维码
随时随地手机跟帖
Cjy_JDxy|  楼主 | 2018-2-1 11:00 | 显示全部楼层 |阅读模式
2.png
我用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 | 显示全部楼层
只在此山中,云深不知处

使用特权

评论回复
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 2018-2-2 10:04 回复TA
如果是主函数的最外层while,break是无法实现的,所以也不会跳槽 
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 | 显示全部楼层
1.png



使用特权

评论回复
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 | 显示全部楼层
尝试一下这种写法:
if (!(flag = Search_Str(Receive_Buffer, "CONNECT OK", Receive_Cnt, 10)))
    break;

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

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

使用特权

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

本版积分规则

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

553

主题

3520

帖子

19

粉丝