blinky.c

来自「Example IRQ codes for LPC21xx CPU family」· C语言 代码 · 共 42 行

C
42
字号
/******************************************************************************/
/*  This file is part of the uVision/ARM development tools                    */
/*  Copyright KEIL ELEKTRONIK GmbH 2002-2004                                  */
/******************************************************************************/
/*                                                                            */
/*  BLINKY.C:  LED Flasher                                                    */
/*                                                                            */
/******************************************************************************/
                  
#include <LPC21xx.H>                        /* LPC21xx definitions */
#include "Timer.h"

extern long volatile timeval;

void wait (void)  {                         /* wait function */
  unsigned long i;

  i = timeval;
  while ((i + 10) != timeval);              /* wait 100ms */
}

int main (void) {
  unsigned int j;                           /* LED var */

  IODIR1 = 0xFF0000;                        /* P1.16..23 defined as Outputs */

  init_timer();

  while (1)  {                                  /* Loop forever */
    for (j = 0x010000; j < 0x800000; j <<= 1) { /* Blink LED 0,1,2,3,4,5,6 */
      IOSET1 = j;                               /* Turn on LED */
      wait ();                                  /* call wait function */
      IOCLR1 = j;                               /* Turn off LED */
    }
    for (j = 0x800000; j > 0x010000; j >>=1 ) { /* Blink LED 7,6,5,4,3,2,1 */
      IOSET1 = j;                               /* Turn on LED */
      wait ();                                  /* call wait function */
      IOCLR1 = j;                               /* Turn off LED */
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?