同样的一段程序,CCS 和 IAR 编译运行的结果不同?

2019-08-01 16:36发布

同样的一段程序,CCS 和 IAR 编译运行的结果不同?
软件版本:
CCS:  5.2.1.00018
IAR :5.50.2
硬件: MSP-EXP430G2    Launch Pad
IAR编译后,两个灯交替闪烁。
CCS编译后,两个灯 “常亮” ,闪烁的非常快,没有延时
是由于没有进入延时函数?

程序如下:
#include "msp430g2553.h"
#define uint unsigned int

void delay(uint x)
{
    uint a,b;
    for(a=0;a<x;a++)
      for(b=0;b<1000;b++);
}

int main(void)
{
    // Stop watchdog timer to prevent time out reset
    WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
    P1DIR=0x41;//配置两个LED引脚为输出状态
    P1OUT=0x01;//初始化LED状态,LED1亮,LED2灭
    while(1)
    {
            delay(1000);
          P1OUT ^=0x41;//翻转两个LED管脚状态
    }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
eydj2008
1楼-- · 2019-08-01 20:20
注意一下 优化级别   还有防止被优化  不要见怪
dirtwillfly
2楼-- · 2019-08-01 22:10
本帖最后由 dirtwillfly 于 2014-6-20 11:55 编辑

检查软件设置是否相同
天高任鸟飞
3楼-- · 2019-08-01 22:56
eydj2008 发表于 2014-6-20 11:51
注意一下 优化级别   还有防止被优化  不要见怪

OK 谢谢了!
天高任鸟飞
4楼-- · 2019-08-02 04:42
原来是给优化了。。。。。
天高任鸟飞
5楼-- · 2019-08-02 08:27
 精彩回答 2  元偷偷看……
天高任鸟飞
6楼-- · 2019-08-02 09:26
加个  volatile ,防止被优化。呵呵。

设置优化等级高也不怕了。

一周热门 更多>