在proteus中使用MSP430时出现简单LED闪烁问题

在proteus中使用MSP430时出现简单LED闪烁问题,msp430,proteus,Msp430,Proteus,当我连接LED时,蓝色方块变为灰色,而不是红色,但在未连接任何东西时,它工作。电压表显示为5V,但应为3.6V,msp输出的电压始终小于LED上的电压降,即当电压为2.2V时,msp输出的电压为2.1,然后我变为0.8,所以显示了0.7的电压。我做错了什么 #include <msp430.h> /** * blink.c */ void main(void) { WDTCTL = WDTPW | WDTHOLD; // stop

当我连接LED时,蓝色方块变为灰色,而不是红色,但在未连接任何东西时,它工作。电压表显示为5V,但应为3.6V,msp输出的电压始终小于LED上的电压降,即当电压为2.2V时,msp输出的电压为2.1,然后我变为0.8,所以显示了0.7的电压。我做错了什么

#include <msp430.h>             


/**
 * blink.c
 */
void main(void)
{
    WDTCTL = WDTPW | WDTHOLD;       // stop watchdog timer
    P1DIR |= 0x01;                  // configure P1.0 as output

    volatile unsigned int i;        // volatile to prevent optimization

    while(1)
    {
        P1OUT ^= 0x01;              // toggle P1.0
        for(i=10000; i>0; i--);     // delay
    }
}
#包括
/**
*眨眼
*/
真空总管(真空)
{
WDTCTL=WDTPW | WDTHOLD;//停止看门狗定时器
P1DIR |=0x01;//将P1.0配置为输出
volatile unsigned int i;//volatile防止优化
而(1)
{
P1OUT^=0x01;//切换P1.0
对于(i=10000;i>0;i--);//延迟
}
}

代码是正确的。显然,模拟是不正确的。