#if defined (__USE_LPCOPEN) #if defined(NO_BOARD_LIB) #include "chip.h" #else #include "board.h" #endif #endif //#include <cr_section_macros.h> uint32_t CPUfreq; #if defined (__cplusplus) extern "C" { #endif void TIMER32_0_IRQHandler(void){ CPUfreq = LPC_TIMER32_0->TC; Chip_GPIO_SetPinToggle(LPC_GPIO,0,8); } #if defined (__cplusplus) } // extern "C" #endif int main(void) { uint32_t timerFreq; /* Timer rate is system clock rate */ timerFreq = Chip_Clock_GetSystemClockRate(); LPC_SYSCON->SYSAHBCLKCTRL |= 1 << 9; LPC_TIMER32_0->MCR |= 3 << 3; // Enables int on MR1 and Resets on match; LPC_TIMER32_0->MR[1] = timerFreq; LPC_TIMER32_0->TCR |= 1; NVIC_ClearPendingIRQ(TIMER_32_0_IRQn); NVIC_EnableIRQ(TIMER_32_0_IRQn); Chip_GPIO_SetPinDIROutput(LPC_GPIO,0,8); Chip_GPIO_SetPinState(LPC_GPIO,0,8,true); volatile static int i = 0 ; while(1){ __WFI(); i++; } } |
/** * @briefHandle interrupt from 32-bit timer * @returnNothing */ void TIMER32_0_IRQHandler(void) { // if(Chip_TIMER_MatchPending(LPC_TIMER32_0, 1)) { [color=#f00]Chip_TIMER_ClearMatch(LPC_TIMER32_0, 1);[/color] //Board_LED_Set(0, true); Board_LED_Toggle(0); } } |