#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);
}
}
|