![](/media/cache/profiles/100d5d9191f185eeb98d6e291756954a.50x50_q85.png)
Measure system
Dependencies: EthernetNetIf mbed RF12B
WatchDog/WatchDog.cpp@3:799d8c61fb03, 2011-05-17 (annotated)
- Committer:
- benecsj
- Date:
- Tue May 17 16:49:23 2011 +0000
- Revision:
- 3:799d8c61fb03
- Parent:
- 0:8d62137f7ff4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
benecsj | 0:8d62137f7ff4 | 1 | #include "mbed.h" |
benecsj | 0:8d62137f7ff4 | 2 | #include "WatchDog.h" |
benecsj | 0:8d62137f7ff4 | 3 | |
benecsj | 0:8d62137f7ff4 | 4 | |
benecsj | 0:8d62137f7ff4 | 5 | watchdog::watchdog(float s) { |
benecsj | 0:8d62137f7ff4 | 6 | LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK |
benecsj | 0:8d62137f7ff4 | 7 | uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4 |
benecsj | 0:8d62137f7ff4 | 8 | LPC_WDT->WDTC = s * (float)clk; |
benecsj | 0:8d62137f7ff4 | 9 | LPC_WDT->WDMOD = 0x3; // Enabled and Reset |
benecsj | 0:8d62137f7ff4 | 10 | feed(); |
benecsj | 0:8d62137f7ff4 | 11 | } |
benecsj | 0:8d62137f7ff4 | 12 | |
benecsj | 0:8d62137f7ff4 | 13 | watchdog_ms::watchdog_ms(int ms) { |
benecsj | 0:8d62137f7ff4 | 14 | LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK |
benecsj | 0:8d62137f7ff4 | 15 | uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4 |
benecsj | 0:8d62137f7ff4 | 16 | LPC_WDT->WDTC = ((float)ms * (float)clk) /1000; |
benecsj | 0:8d62137f7ff4 | 17 | LPC_WDT->WDMOD = 0x3; // Enabled and Reset |
benecsj | 0:8d62137f7ff4 | 18 | feed(); |
benecsj | 0:8d62137f7ff4 | 19 | } |
benecsj | 0:8d62137f7ff4 | 20 | |
benecsj | 0:8d62137f7ff4 | 21 | watchdog_us::watchdog_us(int us) { |
benecsj | 0:8d62137f7ff4 | 22 | LPC_WDT->WDCLKSEL = 0x1; // Set CLK src to PCLK |
benecsj | 0:8d62137f7ff4 | 23 | uint32_t clk = SystemCoreClock / 16; // WD has a fixed /4 prescaler, PCLK default is /4 |
benecsj | 0:8d62137f7ff4 | 24 | LPC_WDT->WDTC = ((float)us * (float)clk) /1000000; |
benecsj | 0:8d62137f7ff4 | 25 | LPC_WDT->WDMOD = 0x3; // Enabled and Reset |
benecsj | 0:8d62137f7ff4 | 26 | feed(); |
benecsj | 0:8d62137f7ff4 | 27 | } |
benecsj | 0:8d62137f7ff4 | 28 | |
benecsj | 0:8d62137f7ff4 | 29 | void watchdog::feed() { |
benecsj | 0:8d62137f7ff4 | 30 | LPC_WDT->WDFEED = 0xAA; |
benecsj | 0:8d62137f7ff4 | 31 | LPC_WDT->WDFEED = 0x55; |
benecsj | 0:8d62137f7ff4 | 32 | } |
benecsj | 0:8d62137f7ff4 | 33 | void watchdog_ms::feed() { |
benecsj | 0:8d62137f7ff4 | 34 | LPC_WDT->WDFEED = 0xAA; |
benecsj | 0:8d62137f7ff4 | 35 | LPC_WDT->WDFEED = 0x55; |
benecsj | 0:8d62137f7ff4 | 36 | } |
benecsj | 0:8d62137f7ff4 | 37 | void watchdog_us::feed() { |
benecsj | 0:8d62137f7ff4 | 38 | LPC_WDT->WDFEED = 0xAA; |
benecsj | 0:8d62137f7ff4 | 39 | LPC_WDT->WDFEED = 0x55; |
benecsj | 0:8d62137f7ff4 | 40 | } |