NC_Zyang 发表于 2014-2-18 11:43:30

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

本帖最后由 FSL_TICS_ZP 于 2014-3-4 14:02 编辑

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

FSL_TICS_ZJJ 发表于 2014-2-18 12:31:01

你可以把你的代码优化设置为无,就不会优化了!

xinyinxing 发表于 2014-2-18 12:36:57

你把你的条件语句改为 if((Temp_Acquisition(WATER_OUT_T)>0)&&(Temp_Acquisition(WATER_OUT_T)<=130)) 试试呢

NC_Zyang 发表于 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)编译器竟然没有提示出错?

NC_Zyang 发表于 2014-2-18 13:40:58

FSL_TICS_ZJJ 发表于 2014-2-18 12:31
你可以把你的代码优化设置为无,就不会优化了!

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

xinyinxing 发表于 2014-2-18 13:41:10

NC_Zyang 发表于 2014-2-18 13:39
哎,还是不行,而且我奇怪我写成if(0

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

FSL_TICS_ZJJ 发表于 2014-2-18 13:48:31

NC_Zyang 发表于 2014-2-18 13:40
主要是就是不想把优化设置成无哈,

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

NC_Zyang 发表于 2014-2-18 13:51:50

xinyinxing 发表于 2014-2-18 13:41
你用的是啥软件啊?
不行你就把优化器给关了!

CodeWarrior呢

FSL_TICS_ZJJ 发表于 2014-2-18 13:54:33

NC_Zyang 发表于 2014-2-18 13:51
CodeWarrior呢

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

NC_Zyang 发表于 2014-2-18 14:14:04

FSL_TICS_ZJJ 发表于 2014-2-18 13:54
好的,我试试,看看你这种写法会不会出现问题。
稍等,待会回复你~

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

FSL_TICS_ZJJ 发表于 2014-2-18 14:29:29

楼主,你用的是CW几呢?我用的是CW 10.4没有这个问题啊。

NC_Zyang 发表于 2014-2-18 14:37:39

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

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

FSL_TICS_ZJJ 发表于 2014-2-18 14:38:42

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

NC_Zyang 发表于 2014-2-18 14:47:08

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

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

FSL_TICS_Fiona 发表于 2014-2-18 14:49:08

楼主用的是CodeWarrior for HC12吧?
你可以在安装目录下的帮助文档中找到答案,在下面这个文档中搜索"C12056”:
C:\Program Files\CodeWarrior HC12 v5.1\Help\chc12_messages.chm

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

NC_Zyang 发表于 2014-2-18 14:52:20

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

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

FSL_TICS_ZJJ 发表于 2014-2-18 14:52:56

NC_Zyang 发表于 2014-2-18 14:47
嗯嗯,就是这个哈,设置之后就没有错误了。

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

xinyinxing 发表于 2014-3-20 14:00:20

学习了!!

木君之上 发表于 2014-3-21 12:19:17

FSL_TICS_ZJJ 发表于 2014-2-18 14:52
呵呵,解决了就好!
15楼的Fiona是我们关于CW方面的专家,他的答案更准确。 ...

我刚才在IAR下载了飞思卡尔的官方例程,但是没有找到DMA的,请问在别的地方有吗?官网?
页: [1]
查看完整版本: 求助,关于代码优化的问题。(已解决)