我一直试图打开MSP430G2553上的LED,但它不起作用。我已经尝试了TI的代码示例,预生成的代码编写器工作室LED闪烁项目,甚至以前的可在MSP430上运行的以前的代码。他们似乎都不起作用。可能是什么问题呢?可能是硬件故障吗?这是我的代码:

#include  <msp430.h>

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  P1DIR |= 0x01;                            // Set P1.0 to output direction

  for (;;)
  {
    volatile unsigned int i;
    volatile unsigned int j;

    P1OUT ^= 0x01;                          // Toggle P1.0 using exclusive-OR

    i = 25000;                              // Delay
    while(i--) {
       j = 2;
       while(j--);
    }
  }
}

最佳答案

您可以尝试使用此版本(仍然是轮询循环,但让它保持非常基础)吗?

#include <msp430.h>

int main(void) {
  volatile int i;
  WDTCTL = WDTPW | WDTHOLD;
  P1DIR |= 0x01;
  P1OUT = 0x00;

  for (;;) {
    P1OUT ^= 0x01;
    for (i = 0x6000; i > 0; i--) { };
  }
  return 0;
}


在2010年使用MSP430时,我从一个旧示例中得出了这一点……

关于c - MSP430 LED完全不闪烁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46918436/

10-12 04:49