执行赋值语句后,值却没被赋上,是什么原因哩?

[复制链接]
 楼主| lcgolh 发表于 2013-5-1 19:59 | 显示全部楼层 |阅读模式
图片中是程序,和仿真变量 QQ截图20130501195314.png QQ截图20130501195303.png ,语句 QQ截图20130501195224.png 已经执行,但S->fftLenReal 并没有变化,这是什么原因呢?  (程序内容是stm32f4的DSP—LIB文件,使用的是自带的fft函数,)使用时,初始化遇到了这问题。请高手前辈指教。。
 楼主| lcgolh 发表于 2013-5-2 07:58 | 显示全部楼层
    顶顶顶
handlike 发表于 2013-5-2 13:47 | 显示全部楼层
我也时常遇到这个现象,实际变量已经赋值了,但调试中的变量没有改变。
哪位给个说法?
cjhk 发表于 2013-5-2 18:55 | 显示全部楼层
应该是程序没有完全下载到单片机内部   个人是这么想的
grasswolfs 发表于 2013-5-2 21:32 | 显示全部楼层
为什么看起来2u是绿色的,重新回车换行看看是不是什么地方不对?
 楼主| lcgolh 发表于 2013-5-2 21:52 | 显示全部楼层
grasswolfs 发表于 2013-5-2 21:32
为什么看起来2u是绿色的,重新回车换行看看是不是什么地方不对?

mdk中的数字显示就是这个颜色的,贴上的程序是stm32f4的DSPlib的程序源码,(官方的,呵呵)。换行后没变化,。。
grasswolfs 发表于 2013-5-2 21:57 | 显示全部楼层
lcgolh 发表于 2013-5-2 21:52
mdk中的数字显示就是这个颜色的,贴上的程序是stm32f4的DSPlib的程序源码,(官方的,呵呵)。换行后没变 ...

那下边的s->fftlenBy2可以赋值么?
 楼主| lcgolh 发表于 2013-5-2 22:06 | 显示全部楼层
grasswolfs 发表于 2013-5-2 21:57
那下边的s->fftlenBy2可以赋值么?

也不能正常赋值
grasswolfs 发表于 2013-5-2 22:08 | 显示全部楼层
lcgolh 发表于 2013-5-2 22:06
也不能正常赋值

是用的仿真器在线仿真还是用软件联合仿真?目测是软件的问题,有没有之前的没问题的程序试一下
grasswolfs 发表于 2013-5-2 22:11 | 显示全部楼层
lcgolh 发表于 2013-5-2 22:06
也不能正常赋值

还有一种可能是盗版仿真软件有一定的RAM限制,如果工程太大也可能会有这个问题
 楼主| lcgolh 发表于 2013-5-2 22:13 | 显示全部楼层
用的是仿真器在线仿真,这个软件仿真F 103的时候还是正常的,我再用F4的试一下。。。
 楼主| lcgolh 发表于 2013-5-2 22:14 | 显示全部楼层
grasswolfs 发表于 2013-5-2 22:08
是用的仿真器在线仿真还是用软件联合仿真?目测是软件的问题,有没有之前的没问题的程序试一下 ...

用的是仿真器在线仿真,这个软件仿真F 103的时候还是正常的,我再用F4的试一下。。。
 楼主| lcgolh 发表于 2013-5-3 08:08 | 显示全部楼层
grasswolfs 发表于 2013-5-2 22:11
还有一种可能是盗版仿真软件有一定的RAM限制,如果工程太大也可能会有这个问题 ...

用其他的程序在板子上试了一下,可以正常赋值的。。。
 楼主| lcgolh 发表于 2013-5-3 08:10 | 显示全部楼层
grasswolfs 发表于 2013-5-2 22:11
还有一种可能是盗版仿真软件有一定的RAM限制,如果工程太大也可能会有这个问题 ...

之前用写过更大的代码,都能用,应该不是ram的限制!!
weicz 发表于 2013-5-3 09:01 | 显示全部楼层
打开对应的汇编窗口看下汇编语句对不对
grasswolfs 发表于 2013-5-3 10:07 | 显示全部楼层
表示汇编代码看不懂,可以上下文一起猜一下
王紫豪 发表于 2013-5-3 10:10 | 显示全部楼层
是不是给优化掉了?S->fftLenReal 的定义前加 static 试试。。。
 楼主| lcgolh 发表于 2013-5-3 18:40 | 显示全部楼层
weicz 发表于 2013-5-3 13:01
你这个S是怎么定义的,函数内的局部变量还是全局变量?贴出来看看

算是局部变量 00.png
grasswolfs 发表于 2013-5-3 18:52 | 显示全部楼层
lcgolh 发表于 2013-5-3 18:43
S是定义的结构体,程序中定义arm_rfft_instance_f32 * S,

之前的意思是不是可能没有对于S的其他的调用或者输入输出,这个编译器不是很清楚,quartus的FPGA程序中很多没有最终被用到的信号都会被优化掉的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

130

帖子

2

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