搜索
bottom↓
回复: 18

求助,关于代码优化的问题。(已解决)

[复制链接]

出0入0汤圆

发表于 2014-2-18 11:43:30 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZP 于 2014-3-4 14:02 编辑

就这个程序出现了下面的错误,说的是代码优化的错误,哪位大侠能帮忙解决呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-2-18 12:31:01 | 显示全部楼层
你可以把你的代码优化设置为无,就不会优化了!

出0入0汤圆

发表于 2014-2-18 12:36:57 | 显示全部楼层
你把你的条件语句改为 if((Temp_Acquisition(WATER_OUT_T)>0)&&(Temp_Acquisition(WATER_OUT_T)<=130)) 试试呢

出0入0汤圆

 楼主| 发表于 2014-2-18 13:39:56 | 显示全部楼层
xinyinxing 发表于 2014-2-18 12:36
你把你的条件语句改为 if((Temp_Acquisition(WATER_OUT_T)>0)&&(Temp_Acquisition(WATER_OUT_T)

哎,还是不行,而且我奇怪我写成if(0<Temp_Acquisition(WATER_OUT_T)<=130)编译器竟然没有提示出错?

出0入0汤圆

 楼主| 发表于 2014-2-18 13:40:58 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-2-18 12:31
你可以把你的代码优化设置为无,就不会优化了!

主要是就是不想把优化设置成无哈,

出0入0汤圆

发表于 2014-2-18 13:41:10 | 显示全部楼层
NC_Zyang 发表于 2014-2-18 13:39
哎,还是不行,而且我奇怪我写成if(0

你用的是啥软件啊?
不行你就把优化器给关了!

出0入0汤圆

发表于 2014-2-18 13:48:31 | 显示全部楼层
NC_Zyang 发表于 2014-2-18 13:40
主要是就是不想把优化设置成无哈,

请问你用的是什么软件呢?
把优化等级设置的低一些试试。

出0入0汤圆

 楼主| 发表于 2014-2-18 13:51:50 | 显示全部楼层
xinyinxing 发表于 2014-2-18 13:41
你用的是啥软件啊?
不行你就把优化器给关了!

CodeWarrior呢

出0入0汤圆

发表于 2014-2-18 13:54:33 | 显示全部楼层

好的,我试试,看看你这种写法会不会出现问题。
稍等,待会回复你~

出0入0汤圆

 楼主| 发表于 2014-2-18 14:14:04 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-2-18 13:54
好的,我试试,看看你这种写法会不会出现问题。
稍等,待会回复你~

嗯,我主要是调用的问题,就是我写了6个这样的代码,因为有6个通道。就像下面这个图说的那样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-2-18 14:29:29 | 显示全部楼层
楼主,你用的是CW几呢?我用的是CW 10.4没有这个问题啊。

出0入0汤圆

 楼主| 发表于 2014-2-18 14:37:39 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-2-18 14:29
楼主,你用的是CW几呢?我用的是CW 10.4没有这个问题啊。

我也不知道是哪个版本,不过我在网上找到了跟我同样的出现优化问题,然后在编译器里面设置了下就OK拉。

出0入0汤圆

发表于 2014-2-18 14:38:42 | 显示全部楼层
看到有个网友说了这样一种方法: 题中的warning是代码最优化时(common code optimization)堆栈指针不一致造成。在菜单->edit->standard setting->compiler for HC12->option中选中Main Optimize Target,再选中optimize for execution time,即可
你可以试试看呢。

出0入0汤圆

 楼主| 发表于 2014-2-18 14:47:08 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-2-18 14:38
看到有个网友说了这样一种方法: 题中的warning是代码最优化时(common code optimization)堆栈指针不一致 ...

嗯嗯,就是这个哈,设置之后就没有错误了。

出0入0汤圆

发表于 2014-2-18 14:49:08 | 显示全部楼层
楼主用的是CodeWarrior for HC12吧?
你可以在安装目录下的帮助文档中找到答案,在下面这个文档中搜索"C12056”:
C:\Program Files\CodeWarrior HC12 v5.1\Help\chc12_messages.chm

所以,你可以忽略这个警告,它只是提示你在调试这段代码的时候有问题(同一行代码多次调用了同一个函数,因为优化的关系,调试时可能不能正常进入子函数),但是编译器本身产生的目标文件还是正确的。

出0入0汤圆

 楼主| 发表于 2014-2-18 14:52:20 | 显示全部楼层
FSL_TICS_Fiona 发表于 2014-2-18 14:49
楼主用的是CodeWarrior for HC12吧?
你可以在安装目录下的帮助文档中找到答案,在下面这个文档中搜索"C120 ...

嗯,就是这个问题,我在因为有6个采集通道,就调用采集函数6次,所以出现了这个警告。

出0入0汤圆

发表于 2014-2-18 14:52:56 | 显示全部楼层
NC_Zyang 发表于 2014-2-18 14:47
嗯嗯,就是这个哈,设置之后就没有错误了。

呵呵,解决了就好!
15楼的Fiona是我们关于CW方面的专家,他的答案更准确。

出0入0汤圆

发表于 2014-3-20 14:00:20 | 显示全部楼层
学习了!!

出0入0汤圆

发表于 2014-3-21 12:19:17 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-2-18 14:52
呵呵,解决了就好!
15楼的Fiona是我们关于CW方面的专家,他的答案更准确。 ...

我刚才在IAR下载了飞思卡尔的官方例程,但是没有找到DMA的,请问在别的地方有吗?官网?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 01:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表