2493|13

74

帖子

0

资源

一粒金砂(中级)

程序中变量赋值总是不成功??

又来向大家请教了。。。程序功能是先对一个信号进行AD采样,得到的数据存入一个数组变量中,然后又要对得到的这些数据进行FFT变换(需将这些数据转换为复数形式),所以另外开辟了一个struct类型变量,(包括实部和虚部),现将AD得到的数组变量值赋给struct类型变量的实部,可是单步调试时就会发现,采到的AD转换后的值并未传入struct变量实部(赋值功能未实现),仅仅是一句赋值语句啊,在这卡了一天了,不知道是什么原因,所以又来这里找大家求助了。。。

回复

950

帖子

3

资源

一粒金砂(高级)

传递不成功,看子函数调用是不是有问题

点评

子函数调用应该是没有问题的,我单步调试的时候,可以跳进去进行赋值语句的执行,但是在查看变量的时候看不到预期结果。。  详情 回复 发表于 2015-4-22 09:34

回复

1万

帖子

33

资源

裸片初长成(高级)

有编译提示吗?

点评

在单步调试的时候没有编译提示,但全速运行的时候,有时候会出现一句,地址超出允许的范围,  详情 回复 发表于 2015-4-22 09:32

回复

74

帖子

0

资源

一粒金砂(中级)

dontium 发表于 2015-4-21 20:31
有编译提示吗?

在单步调试的时候没有编译提示,但全速运行的时候,有时候会出现一句,地址超出允许的范围,

点评

这样看来应该是内存不够,发生溢出了  详情 回复 发表于 2015-4-22 10:27

回复

74

帖子

0

资源

一粒金砂(中级)

machinnneee 发表于 2015-4-21 20:30
传递不成功,看子函数调用是不是有问题

子函数调用应该是没有问题的,我单步调试的时候,可以跳进去进行赋值语句的执行,但是在查看变量的时候看不到预期结果。。

回复

74

帖子

0

资源

一粒金砂(中级)

会不会是数组越界,RAM不足的问题?

回复

3572

帖子

6

资源

裸片初长成(初级)

在赋值语句上下写一条简单的赋值语句测试一下这个函数能否正常调用。一般这种情况都是由于一个粗心导致的小错误造成的,很可能是指针指错了位置。

点评

谢谢版主的回答,这个办法之前试过了,现在问题也找到了,是RAM不足导致的。  详情 回复 发表于 2015-4-22 10:20

回复

74

帖子

0

资源

一粒金砂(中级)

问题找到了,就是因为开辟了较大的数组,导致RAM不足的问题。

回复

74

帖子

0

资源

一粒金砂(中级)

jishuaihu 发表于 2015-4-22 10:00
在赋值语句上下写一条简单的赋值语句测试一下这个函数能否正常调用。一般这种情况都是由于一个粗心导致的小错误造成的,很可能是指针指错了位置。

谢谢版主的回答,这个办法之前试过了,现在问题也找到了,是RAM不足导致的。

回复

1797

帖子

0

资源

五彩晶圆(初级)

singletravel 发表于 2015-4-22 09:32
在单步调试的时候没有编译提示,但全速运行的时候,有时候会出现一句,地址超出允许的范围,

这样看来应该是内存不够,发生溢出了

点评

您好,又遇到问题了,我查看生成的.map文件时,发现RAM使用了还不到一半,这样看来RAM应该足够,可是因为要处理的数据比较多,一旦增加处理的数据量,就又会出现赋值不成功的情况,若减少数据量,就恢复正常,请问这  详情 回复 发表于 2015-4-24 11:19

回复

1万

帖子

33

资源

裸片初长成(高级)

我询问编译的提示,不是说你在调试时的提示,有时候编译虽然通过了,那也只是表明可以产生运行文件,但并不一定合理,有些给出警告什么的,象这些东西都应该注意才是,至少说先看看这种提示关系大不大

回复

74

帖子

0

资源

一粒金砂(中级)

bobde163 发表于 2015-4-22 10:27
这样看来应该是内存不够,发生溢出了

您好,又遇到问题了,我查看生成的.map文件时,发现RAM使用了还不到一半,这样看来RAM应该足够,可是因为要处理的数据比较多,一旦增加处理的数据量,就又会出现赋值不成功的情况,若减少数据量,就恢复正常,请问这种情况该怎么解决呢。。谢谢您了~

点评

可能是堆栈太小,堆栈溢出了,关于修改堆栈大小的我没改过,不知道在哪里改,你在论坛里搜一下看看有没有可以参考的例子或者资料的  详情 回复 发表于 2015-4-24 13:05

回复

1797

帖子

0

资源

五彩晶圆(初级)

singletravel 发表于 2015-4-24 11:19
您好,又遇到问题了,我查看生成的.map文件时,发现RAM使用了还不到一半,这样看来RAM应该足够,可是因为要处理的数据比较多,一旦增加处理的数据量,就又会出现赋值不成功的情况,若减少数据量,就恢复正常,请问这种情况该怎么解决呢。。谢谢您了~

可能是堆栈太小,堆栈溢出了,关于修改堆栈大小的我没改过,不知道在哪里改,你在论坛里搜一下看看有没有可以参考的例子或者资料的

点评

嗯,感谢。  详情 回复 发表于 2015-4-24 14:11

回复

74

帖子

0

资源

一粒金砂(中级)

bobde163 发表于 2015-4-24 13:05
可能是堆栈太小,堆栈溢出了,关于修改堆栈大小的我没改过,不知道在哪里改,你在论坛里搜一下看看有没有可以参考的例子或者资料的

嗯,感谢。

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

关闭
站长推荐上一条 1/5 下一条

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

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

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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