4684|16

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

为什么这个for循环跑不出来了 [复制链接]

 
程序始终在这个for循环里跑,这个for循环之前的变量赋值的语句也跑不进去,后面的也跑不进去 就在这个循环里跑,这是怎么回事啊?
Uint16 i;
float uaa[20],ubb[20],ucc[20];
前面的是他的变量定义。

for(i=0;i<=19;i++)
      {
   uaa[i]=0;
   ubb[i]=0;
   ucc[i]=0;
      }

最新回复

这个问题有意思 建议把整个子函数的汇编部分拿出来分析下,应该可以学习到很多东西  详情 回复 发表于 2016-10-10 22:09
点赞 关注
 

回复
举报

6040

帖子

202

TA的资源

版主

沙发
 
程序没下载对,不是最新的,实际跑的代码跟源文件对不上导致。
 
 

回复

1366

帖子

6

TA的资源

版主

板凳
 
建议仿真看下变量 i 的值
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

4
 
RCSN 发表于 2016-10-9 11:18
建议仿真看下变量 i 的值

我看了下  始终是0怎么回事啊。。。
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

5
 
lcofjp 发表于 2016-10-9 11:15
程序没下载对,不是最新的,实际跑的代码跟源文件对不上导致。

下对了啊 我刚看了i值 始终是0啊
 
 
 

回复

1366

帖子

6

TA的资源

版主

6
 
Uint16改为unsigned char试试
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 
 

回复

732

帖子

2

TA的资源

纯净的硅(中级)

7
 
不知道你用的是什么平台,如果51单片机的话内存都不够放这些变量的。。。你debug的时候没有看看i的值么,还要看看反汇编的语句吧、
个人签名亚里士缺德
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 
RCSN 发表于 2016-10-9 11:30
Uint16改为unsigned char试试

还是不行啊。。。
 
 
 

回复

6040

帖子

202

TA的资源

版主

9
 
如果循环能执行,i就不可能一直为0,肯定是没执行i++操作,至于具体原因,要看汇编语句,如果汇编驴唇不对马嘴,那么还是指令与源代码不对应。
 
 
 

回复

1366

帖子

6

TA的资源

版主

10
 
第一:i 在定义那里初始化为0,即是Uint16 i=0;for(i=0;i<=19;i++)改为for(;i<=19;i++)。。但意思都一样
第二:单片机压根没在跑,供电不正常。
第三:内存不够。
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

11
 
可能DSP运行的根本就不是这段程序。

程序是不是优化过?
 
 
 

回复

169

帖子

0

TA的资源

一粒金砂(中级)

12
 
你是用的什么编译器啊?
这个程序除了这几句还有没有其他的,一起发出来。
你的i是全局的还是局部变量啊。
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

13
 
jinyi7016 发表于 2016-10-9 22:16
你是用的什么编译器啊?
这个程序除了这几句还有没有其他的,一起发出来。
你的i是全局的还是局部变量啊 ...

已经解决了 把i定义成全局变量就好了。。。我也不晓得为什么。。。
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

14
 
RCSN 发表于 2016-10-9 11:38
第一:i 在定义那里初始化为0,即是Uint16 i=0;for(i=0;i

应该是内存不够了。。把i定义成全局变量就好了。。。我也不晓得为啥
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

15
 
lcofjp 发表于 2016-10-9 11:38
如果循环能执行,i就不可能一直为0,肯定是没执行i++操作,至于具体原因,要看汇编语句,如果汇编驴唇不对 ...

把i定义成全局变量就好了。。。我也不晓得为什么。。。求指导啊 是不是内存问题

点评

这个需要你自己调试,别人帮不了忙,调试的时候看看汇编代码以及变量的地址,一目了然。  详情 回复 发表于 2016-10-10 17:33
 
 
 

回复

6040

帖子

202

TA的资源

版主

16
 
远比天高 发表于 2016-10-10 17:08
把i定义成全局变量就好了。。。我也不晓得为什么。。。求指导啊 是不是内存问题

这个需要你自己调试,别人帮不了忙,调试的时候看看汇编代码以及变量的地址,一目了然。
 
 
 

回复

750

帖子

3

TA的资源

版主

17
 
这个问题有意思

建议把整个子函数的汇编部分拿出来分析下,应该可以学习到很多东西
个人签名

要666

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表