watchdog library. this is a derived work.
Dependents: RTOS_project RTOS_project_fork_01 RTOS_project_fork_02 ELEC351-Coursework
Diff: watchdog.h
- Revision:
- 0:f27d373a8e28
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/watchdog.h Tue Sep 17 15:03:56 2013 +0000 @@ -0,0 +1,24 @@ +/*----------------------------------------------//----------------------------*/ + // Simon's Watchdog code from + // http://mbed.org/forum/mbed/topic/508/ + class Watchdog + { + public: + + void kick(float s) // Load timeout value in watchdog timer and enable + { + LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK + uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4 + LPC_WDT->WDTC = s * (float)clk; + LPC_WDT->WDMOD = 0x3; // Enabled and Reset + kick(); + } + + + void kick() // reset timer. + { + LPC_WDT->WDFEED = 0xAA; + LPC_WDT->WDFEED = 0x55; + } + }; +/*----------------------------------------------//----------------------------*/ \ No newline at end of file