Ejemplo n.º 1
0
qWDT_ResetSource qWDT_GetResetSource(){

	if (WDT_ReadTimeOutFlag()){

		WDT_ClrTimeOutFlag();
		return RESET_WDT;
	} else{
		return RESET_EXTERNAL;
	}
}
Ejemplo n.º 2
0
int c_entry(void)
{
	// Init LED port
	LED_Init();

	/*
	 * Initialize debug via UART
	 */
	debug_frmwrk_init();

	// print welcome screen
	print_menu();

	// Read back TimeOut flag to determine previous timeout reset
	if (WDT_ReadTimeOutFlag()){
		_DBG_(info1);
		// Clear WDT TimeOut
		WDT_ClrTimeOutFlag();
	} else{
		_DBG_(info2);
	}

	// Initialize WDT, IRC OSC, interrupt mode, timeout = 2000000 microsecond
	WDT_Init(WDT_CLKSRC_IRC, WDT_MODE_RESET);
	// Start watchdog with timeout given
	WDT_Start(WDT_TIMEOUT);

	// set timer 100 ms
	Timer_Wait(100);

	while (1){
		// Wait for 100 millisecond
		while ( !(TIM_GetIntStatus(LPC_TIM0,0)));
		TIM_ClearIntPending(LPC_TIM0,0);
		//turn on led
		FIO_ByteSetValue(2, 0, LED_PIN);

		// Wait for 100 millisecond
		while ( !(TIM_GetIntStatus(LPC_TIM0,0)));
		TIM_ClearIntPending(LPC_TIM0,0);
		//turn off led
		FIO_ByteClearValue(2, 0, LED_PIN);
	}

	return 0;
}
Ejemplo n.º 3
0
/*----------------- INTERRUPT SERVICE ROUTINES --------------------------*/
void WDT_IRQHandler(void)
{
    // Disable WDT interrupt
    NVIC_DisableIRQ(WDT_IRQn);
    WDT_ClrTimeOutFlag();
}