El siguiente código básicamente parpadea en amarillo LED en la Plataforma de lanzamiento MSP430 en el puerto 1.6.
Tuve que usar dos
do-while
bucles para proporcionar retrasos. ¿Hay alguna manera de hacer esto usando un solo do-while?
int main(void)
{
P2DIR = 0xFF;
P2OUT = 0x00;
P3DIR = 0xFF;
P3OUT = 0x00;
volatile unsigned int i; // volatile to prevent optimization
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= 0x40; // Set P1.6 (Green LED) to output
while( 1 ) {
i = 9000; // SW Delay
do i--;
while(i != 0);
P1OUT |= 0x40; // Green LED On
i = 9000; // SW Delay
do i--;
while(i != 0);
P1OUT &= ~0x40; // Green LED Off
}
}