首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

给变量赋值出现奇怪的问题

给变量赋值出现奇怪的问题

给变量赋值后,发现变量值不等于等号右边的等式的值,甚至给变量赋常数值,从在线仿真来看,结果也不能于常数,不知道是不是什么地方超过允许了。我定义的变量是浮点型变量。请知道的朋友指教。 (我用的是cw3.1,mcu是dp256)

[此贴子已经被作者于2006-8-25 9:55:24编辑过]

              非学无以广才,非志无以成学;              
把你的PROJECT打包贴上来看看。
海纳百川  有容乃大
问题在another.c文件的 S8 autoset_rssi_13500(){}这个函数里,变量rssi_14875_ppdbm,rssi_f2_45dbm_t1,rssi_f2_45dbm_t2,rssi_f_45dbm_t和等式右边不是相同的值!我找了好久也没找到原因。

这里今天上传都不成功,请strongchen把你的邮箱告诉我,我把我的项目发到你邮箱里吧。
              非学无以广才,非志无以成学;              
strongchen_free@yahoo.com.cn。发过去后在帖子里通知一下。
海纳百川  有容乃大
我发到你邮箱里了
              非学无以广才,非志无以成学;              
我发到你邮箱里了
              非学无以广才,非志无以成学;              
收到了。但是你的这个project太大了,让我无从看起,而且在软件仿真时程序也无法走到你说的这个函数上(应该是autoset_rssi_15300(){}吧)。建议你将有问题的这段程序抽出来,做一个简单的小程序,然后运行一下看看是否还有这个问题。如果有问题,可以将这个小程序发给我。
海纳百川  有容乃大
我看了你回复别人的帖子,大概是由于优化引起的,你在帖子里说要把变量定义成static型变量。我不明白的是,优化怎么会反而出错呢,另外,我经常在编译时看到告警信息C12056,意思是优化时产生了问题,对与这个告警信息是意味着产生了大的bug还是不要理会,怎么才能解决这个告警反映出的问题。
              非学无以广才,非志无以成学;              

想不明白。

我把函数内变量定义成static float型后,会出错,显示错误好L1102:out of allocation space in segment EEPROM at address 0xFF0,而去掉static则编译连接都能通过。
想不明白。
              非学无以广才,非志无以成学;              
关于优化出错的警告信息,可以看CodeWarrior的help中关于警告代码C12056解释。但是你的程序如果不优化,即关掉“Create Sub-Functions with Common Code”优化选项的话,就会超出地址范围。同样,将变量定义为static后,似乎也会超出地址范围。
海纳百川  有容乃大
返回列表