int main (void) { uint32_t interval; SystemCoreClockUpdate(); /* Config CLKOUT, mostly used for debugging. */ CLKOUT_Setup( CLKOUTCLK_SRC_MAIN_CLK ); LPC_IOCON->PIO0_1 &= ~0x07; LPC_IOCON->PIO0_1 |= 0x01; /* CLK OUT */ /* Enable AHB clock to the GPIO domain. */ LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); /* TEST_TIMER_NUM is either 0 or 1 for 16-bit timer 0 or 1. */ interval = SystemCoreClock/1000 - 1; if ( interval > 0xFFFF ) { interval = 0xFFFF; } init_timer16(TEST_TIMER_NUM, interval); enable_timer16(TEST_TIMER_NUM); /* Set port 2_0 to output */ GPIOSetDir( 2, 0, 1 ); while (1) /* Loop forever */ { #if TEST_TIMER_NUM /* I/O configuration and LED setting pending. */ if ( (timer16_1_counter > 0) && (timer16_1_counter <= 200) ) { GPIOSetValue( 2, 0, 0 ); } if ( (timer16_1_counter > 200) && (timer16_1_counter <= 400) ) { GPIOSetValue( 2, 0, 1 ); } else if ( timer16_1_counter > 400 ) { timer16_1_counter = 0; } #else /* I/O configuration and LED setting pending. */ if ( (timer16_0_counter > 0) && (timer16_0_counter <= 200) ) { GPIOSetValue( 2, 0, 0 ); } if ( (timer16_0_counter > 200) && (timer16_0_counter <= 400) ) { GPIOSetValue( 2, 0, 1 ); } else if ( timer16_0_counter > 400 ) { timer16_0_counter = 0; } #endif } }
int main (void) { /* Basic chip initialization is taken care of in SystemInit() called * from the startup code. SystemInit() and chip settings are defined * in the CMSIS system_<part family>.c file. */ /* SystemInit(); */ /* Config CLKOUT, mostly used for debugging. */ CLKOUT_Setup( CLKOUTCLK_SRC_MAIN_CLK ); LPC_IOCON->PIO0_1 &= ~0x07; LPC_IOCON->PIO0_1 |= 0x01; /* CLK OUT */ /* Enable AHB clock to the GPIO domain. */ LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); /* TEST_TIMER_NUM is either 0 or 1 for 16-bit timer 0 or 1. */ init_timer16(TEST_TIMER_NUM, TIME_INTERVAL); enable_timer16(TEST_TIMER_NUM); /* Set port 2_0 to output */ /* GPIOSetDir( 2, 0, 1 ); */ /* Set LED port pin to output */ GPIOSetDir( LED_PORT, LED_BIT, 1 ); while (1) /* Loop forever */ { #if TEST_TIMER_NUM /* I/O configuration and LED setting pending. */ if ( (timer16_1_counter > 0) && (timer16_1_counter <= 200) ) { /* GPIOSetValue( 2, 0, 0 ); */ GPIOSetValue( LED_PORT, LED_BIT, LED_OFF ); } if ( (timer16_1_counter > 200) && (timer16_1_counter <= 400) ) { /* GPIOSetValue( 2, 0, 1 ); */ GPIOSetValue( LED_PORT, LED_BIT, LED_ON ); } else if ( timer16_1_counter > 400 ) { timer16_1_counter = 0; } #else /* I/O configuration and LED setting pending. */ if ( (timer16_0_counter > 0) && (timer16_0_counter <= 200) ) { /* GPIOSetValue( 2, 0, 0 ); */ GPIOSetValue( LED_PORT, LED_BIT, LED_OFF ); } if ( (timer16_0_counter > 200) && (timer16_0_counter <= 400) ) { /* GPIOSetValue( 2, 0, 1 ); */ GPIOSetValue( LED_PORT, LED_BIT, LED_ON ); } else if ( timer16_0_counter > 400 ) { timer16_0_counter = 0; } #endif } }