Board logo

标题: 给变量赋值出现奇怪的问题 [打印本页]

作者: shpdlizj    时间: 2006-8-25 09:55     标题: 给变量赋值出现奇怪的问题

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

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


作者: strongchen    时间: 2006-8-25 13:41

把你的PROJECT打包贴上来看看。
作者: shpdlizj    时间: 2006-8-28 15:38

问题在another.c文件的 S8 autoset_rssi_13500(){}这个函数里,变量rssi_14875_ppdbm,rssi_f2_45dbm_t1,rssi_f2_45dbm_t2,rssi_f_45dbm_t和等式右边不是相同的值!我找了好久也没找到原因。

这里今天上传都不成功,请strongchen把你的邮箱告诉我,我把我的项目发到你邮箱里吧。
作者: strongchen    时间: 2006-8-28 17:05

strongchen_free@yahoo.com.cn。发过去后在帖子里通知一下。
作者: shpdlizj    时间: 2006-8-28 17:36

我发到你邮箱里了
作者: shpdlizj    时间: 2006-8-28 17:52

我发到你邮箱里了
作者: strongchen    时间: 2006-8-29 10:26

收到了。但是你的这个project太大了,让我无从看起,而且在软件仿真时程序也无法走到你说的这个函数上(应该是autoset_rssi_15300(){}吧)。建议你将有问题的这段程序抽出来,做一个简单的小程序,然后运行一下看看是否还有这个问题。如果有问题,可以将这个小程序发给我。
作者: shpdlizj    时间: 2006-8-29 14:13

我看了你回复别人的帖子,大概是由于优化引起的,你在帖子里说要把变量定义成static型变量。我不明白的是,优化怎么会反而出错呢,另外,我经常在编译时看到告警信息C12056,意思是优化时产生了问题,对与这个告警信息是意味着产生了大的bug还是不要理会,怎么才能解决这个告警反映出的问题。
作者: shpdlizj    时间: 2006-8-29 15:11     标题: 想不明白。

我把函数内变量定义成static float型后,会出错,显示错误好L1102:out of allocation space in segment EEPROM at address 0xFF0,而去掉static则编译连接都能通过。
想不明白。
作者: strongchen    时间: 2006-8-29 16:15

关于优化出错的警告信息,可以看CodeWarrior的help中关于警告代码C12056解释。但是你的程序如果不优化,即关掉“Create Sub-Functions with Common Code”优化选项的话,就会超出地址范围。同样,将变量定义为static后,似乎也会超出地址范围。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0