[求助] 菜鸟求助

阿亮tml   2012-7-18 14:20 楼主
#include

void delay(long int n)
{
        long int i,j;
        for(i=n;i>0;i--)
                for(j=11000;j>0;j--);
}

void main(void)
{
        WDTCTL=WDTPW+WDTHOLD;
        P1DIR |= (1<<0)+(1<<6);
        P1REN |= (1<<0)+(1<<6);
        while(1)
        {
                P1OUT&=0xbe;
                delay(2000);
                P1OUT|=0xff;
                delay(2000);
        }
}
目的是想让 LaunchPad 上的两个LED交替闪烁,可实际上却是两个灯一直亮着。这是什么原因。而且我在用CCS调试的时候,所有的寄存器都显示 can't be read ?谢谢各位了、

回复评论 (10)

#include  

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;  
  P1DIR |= BIT0;
  P1DIR |= BIT6;
  
  for(;;)
  {
    unsigned int i;
    i=50000;
    P1OUT = BIT0;
    while(i--);
    P1OUT = BIT6;
    while(i--);   
  }
}

试试我这个吧
点赞  2012-7-18 15:30

回复 沙发 hj-yk 的帖子

表示你这个只有一个灯亮(跟P1.6连着的那个灯)
点赞  2012-7-18 16:53

回复 板凳 阿亮tml 的帖子

不是吧,我这就是交替显示,G2553的芯片
点赞  2012-7-18 22:37

回复 4楼 hj-yk 的帖子

程序我明白,可是实际的效果就是只有一个灯亮,我也不知道怎么回事。会不会是我没有焊上那个32768HZ的晶振?
点赞  2012-7-18 22:52

回复 5楼 阿亮tml 的帖子

那个晶振是自带
点赞  2012-7-19 09:44
二楼那个程序第二个while前是不是要再次给i付值啊
点赞  2012-7-19 20:41

回复 7楼 cs123cs123 的帖子

的确额 这个程序有问题的
这个可以闪烁??
点赞  2012-7-20 14:50
#include "msp430g2553.h"
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;  
  P1DIR |= BIT0;
  P1DIR |= BIT6;
  
  for(;;)
  {
    unsigned int i;
    i=50000;
    P1OUT = BIT0;
    while(i--);  
    i=50000;
    P1OUT = BIT6;
    while(i--);   
  }
}
做了一下改动,这个可以交替闪
点赞  2012-7-21 14:31
晕了,试了一下,没改之前也可以交替闪
点赞  2012-7-21 14:35

回复 10楼 cs123cs123 的帖子

这样啊。。可能是我的板子有点问题吧、。、、
点赞  2012-7-22 11:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复