watchdog timer. this is a derived work.

Dependents:   Embedded_RTOS_Project

Files at this revision

API Documentation at this revision

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