/*---------------------------------------------------------------------------- Main Program *----------------------------------------------------------------------------*/ int main (void) { int32_t idx = -1, dir = 1; int32_t ledMax = LED_Num(); LED_Init(); /* LED Initialization */ SER_Init(); /* UART Initialization */ SystemCoreClockUpdate(); /* Get Core Clock Frequency */ if (SysTick_Config(SystemCoreClock / 1000)) { /* SysTick 1 msec interrupts */ while (1) __NOP(); /* Capture error */ } while(1) { /* Loop forever */ /* Calculate 'idx': 0,1,...,LED_NUM-1,LED_NUM-1,...,1,0,0,... */ idx += dir; if (idx == ledMax) { dir = -1; idx = ledMax - 1; } else if (idx < 0 ) { dir = 1; idx = 0; } LED_On (idx); /* Turn on LED 'idx' */ Delay(50); /* Delay 50ms */ LED_Off(idx); /* Turn off LED 'idx' */ Delay(150); /* Delay 150ms */ printf ("Hello World\n\r"); } }
void LED_out (U32 val) { /* Turn LEDs ON or OFF */ int i; for (i = 0; i < LED_Num(); i++) { if (val & (1<<i)) { LED_On (i); } else { LED_Off(i); } } }
uint32_t LED_GetCount (void) { return LED_Num(); }