TI中文支持网
TI专业的中文技术问题搜集分享网站

用IAR编译时,功能正常,但是用CCS编译正常通过,但是功能不正常

同一个c文件,头文件做了相应改动,CCS配置也按照使用指南配置

jianbo qin:

这个是CCS下的文件

jianbo qin:

回复 jianbo qin:

按照官方代码修改也无济于事

Lina Lian:

jianbo qin,

有可能是由于CCS对代码的优化造成的,尤其是delay函数,请在properties中更改优化等级,将优化功能关掉off, 再试试. 

希望对你有帮助!O(∩_∩)O~

jianbo qin:

回复 Lina Lian:

已经将优化关闭

但是CCS依然将死循环优化

Lina Lian:

回复 jianbo qin:

jianbo qin,

i,j定义前均加上 volatile,如下所示:

volatile unsigned int i;

再试试。

另外可否描述一下CCS下功能如何不正常了?不明白你下列描述的含义

jianbo qin但是CCS依然将死循环优化

jianbo qin:

回复 Lina Lian:

合格方法已经尝试过了,还是不行。

另外,用msp430gcc作编译器,关闭优化依然会将死循环优化掉,除非在死循环内对一个端口不停赋值

jianbo qin:

回复 Lina Lian:

while(1)

{

for(i=0;i<8;i++)

{

………….;

}

}

这个将执行内层循环之后直接退出

不知道是不是哪里写的不对,但是用IAR编译是正常的

Lina Lian:

回复 jianbo qin:

jianbo qin,

CCS应该是设置为不优化,或者加上volatile后均可解决。但是对于延时,还是建议你直接使用__delay_cycles();本征函数来实现延时。

jianbo qin:

回复 Lina Lian:

volatile这个也试过了,将优化关闭也试过了,还是不行。。。。

现在只好用IAR了。。。

jianbo qin:

回复 Lina Lian:

网上说将volatile设置成全局变量可以解决,但是试过了还是不行

赞(0)
未经允许不得转载:TI中文支持网 » 用IAR编译时,功能正常,但是用CCS编译正常通过,但是功能不正常
分享到: 更多 (0)