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

MSP430F5529 CCS编程求助

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

此定时程序系统编译后出现如下警告:

Detected SW delay loop using empty loop

延时函数没有发挥作用,为什么?

user3917511:

检测到sw延迟使用空循环回路 你的延迟函数有问题。。。

lite xu:

回复 user3917511:

我查到CCS好像会自动优化for循环,可以在变量定义前加volatile解决,可我加过以后依然没有效果,不知何解,我用的是CCS6.0

lite xu:

回复 user3917511:

#include <msp430.h>

void main(void){ __enable_interrupt(); SFRIE1|=WDTIE; P1DIR=0xff; volatile unsigned int i,j; P1OUT=0xff; for(i=0;i<30000;i++) for(j=0;j<50;j++); P1OUT=0x00; while(1);}#pragma vector=WDT_VECTOR

__interrupt void WatchTimer(void)

{ WDTCTL=WDTPW+WDTCNTCL+WDTIE;

}

谢谢你的回答,可是在以上程序中,可是在以上程序中依然会提示无效的i,j;两个for循环和while循环依然没有发挥作用,

我用的CCS6.0版本,多次调试结果出错,求解答,谢谢。

琉璃酱:

回复 lite xu:

工程名上右键>>properties >>build >>msp430 compiler >>optimization >>把右边的两个选项都选为0

还不行就点击msp430 compiler 下的选项卡advice options you右边的set error …..选成remark或者空白

在不行我也没招了

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F5529 CCS编程求助
分享到: 更多 (0)