7714|3

333

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

单步调试和直接运行结果不一样的现象! [复制链接]


我在这一步设置一个断点,此时我画出来的IP数组为一串数字。

我现在点击next statement,跑到绿色的地方,发现这个IP没有变化。

我重新运行程序,再次跑到断点处,IP还是这个IP

我在刚才单步的地方再次设置个断点,直接运行过去,发现IP变化了,这是为什么?
我单步点的是这个:

最新回复

单步调试和直接运行最大的区别就是时间不同,单步调试时你可以把每个步骤的时间拉伸到无限久,而直接运行时间会很短。 看不出你的程序是怎么写的,感觉是在某处延时不够。  详情 回复 发表于 2014-8-29 11:26
 
点赞 关注

回复
举报

1193

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
单步调试和直接运行最大的区别就是时间不同,单步调试时你可以把每个步骤的时间拉伸到无限久,而直接运行时间会很短。
看不出你的程序是怎么写的,感觉是在某处延时不够。

点评

我把图上两个断点之间的延时去掉居然就正常了。。。。。。。。。。  详情 回复 发表于 2014-8-29 13:44
 
 

回复

333

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
这个IP改变后的内容是我第一个断点处发送的内容“ SendString1("AT%IPOPEN=\"TCP\",");  ”,但是我的ip获取代码是这样的:
void Get_ip(uchar *a,uchar *ip)
{
   int i;
   k=0;  
   for(i=39;i<54;i++)
  {
     if((i-39)<15)
     {
       if((a=='.')||((a<58)&&(a>47)))
       *ip=a;
       //Delay_Nms(100);
       ip++;//ip推进
       k++;//长度推进
     }
   }
}


调用起来是这样的:
Get_ip(RxBuf1,IP);
而且这条调用程序执行完后(IP都已经获得了)才执行我图上的那条SendString1("AT%IPOPEN=\"TCP\",");,里面的数据怎么会又跑进去?
 
 
 

回复

333

帖子

0

TA的资源

一粒金砂(高级)

4
 
qiushenghua 发表于 2014-8-29 11:26
单步调试和直接运行最大的区别就是时间不同,单步调试时你可以把每个步骤的时间拉伸到无限久,而直接运行时 ...

我把图上两个断点之间的延时去掉居然就正常了。。。。。。。。。。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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