예제 #1
0
/**
 * @brief	main routine for ATIMER example
 * @return	Nothing (function should not exit)
 */
int main(void)
{
	bool On = false;

	SystemCoreClockUpdate();
	Board_Init();

	/* Init Alarm Timer with Preset Count for about 1s */
	Chip_ATIMER_Init(LPC_ATIMER, PresetCount);

	/* Init EVRT */
	Chip_EVRT_Init();

	/* Enable EVRT in order to be able to read the ATIMER interrupt */
	Chip_EVRT_ConfigIntSrcActiveType(EVRT_SRC_ATIMER, EVRT_SRC_ACTIVE_HIGH_LEVEL);

	/* Enable Alarm Timer Source */
	Chip_EVRT_SetUpIntSrc(EVRT_SRC_ATIMER, ENABLE);

	/* Enable NVIC */
	NVIC_EnableIRQ(EVENTROUTER_IRQn);

	/* Clear the interrupt states */
	ATIMER_ClearInts();

	/* Enable Alarm Timer */
	Chip_ATIMER_IntEnable(LPC_ATIMER);

	while (1) {
		/* Sleep until ATIMER fires */
		__WFI();
		On = (bool) !On;
		Board_LED_Set(1, On);
	}
}
예제 #2
0
/**
 * @brief	Main entry point
 * @return	Nothing
 */
int main(void)
{
	FlagStatus exitflag;
	uint8_t buffer = 0xFF;
	uint8_t Wake_RTC = 0;

	Board_Init();

	/* Initialize the Event Router */
	Chip_EVRT_Init();

	/* Print user menu on UART console */
	DEBUGOUT(menu);

	exitflag = RESET;
	/* Read user option from UART prompt */
	while (exitflag == RESET) {

		/* Get user input */
		buffer = DEBUGIN();

		switch (buffer) {
		case '1':		/* Sleep/Wake up Mode */
			DEBUGOUT("'Sleep' state test selected \r\n");
			PMC_Get_Wakeup_option(&Wake_RTC);
			PMC_PwrState_Handler(buffer, Wake_RTC);
			DEBUGOUT(menu);
			break;

		case '2':		/* Deep sleep/Wakeup Mode */
			DEBUGOUT("'Deep Sleep' state test selected \r\n");
			PMC_Get_Wakeup_option(&Wake_RTC);
			PMC_PwrState_Handler(buffer, Wake_RTC);
			DEBUGOUT(menu);
			break;

		case '3':		/* Power Down/Wakeup Mode */
			DEBUGOUT("'Power Down' state test selected \r\n");
			PMC_Get_Wakeup_option(&Wake_RTC);
			PMC_PwrState_Handler(buffer, Wake_RTC);
			DEBUGOUT(menu);
			break;

		case '4':		/* Deep Power Down/Wakeup Mode */
			DEBUGOUT("'Deep Power Down' state test selected \r\n");
			PMC_Get_Wakeup_option(&Wake_RTC);
			PMC_PwrState_Handler(buffer, Wake_RTC);
			DEBUGOUT(menu);
			break;

		case 'X':
			DEBUGOUT(menu2);
			exitflag = SET;
			break;

		case 'x':
			DEBUGOUT(menu2);
			exitflag = SET;
			break;
		}
	}

	while (1) {}
}