watchdog timer. this is a derived work.
Dependents: Embedded_RTOS_Project
Revision 0:f27d373a8e28, committed 2013-09-17
- Comitter:
- gatedClock
- Date:
- Tue Sep 17 15:03:56 2013 +0000
- Commit message:
- add watchdog library.
Changed in this revision
watchdog.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r f27d373a8e28 watchdog.h --- /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