Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Watchdog by
Diff: Watchdog.cpp
- Revision:
- 19:3b172e42d8ee
- Parent:
- 18:edfbf294c9e2
- Child:
- 21:dc589c475a04
--- a/Watchdog.cpp Mon Mar 19 04:35:39 2018 +0000
+++ b/Watchdog.cpp Mon Mar 19 14:38:55 2018 +0000
@@ -101,13 +101,15 @@
Configure((int)(s * 1000));
}
+#define WDTOSCCTRL_Val(clk, div) ((((uint32_t)(clk)) << 5) | (((div) >> 1) - 1))
+
void Watchdog::Configure(int ms)
{
#if 0
uint32_t clk = get_wdtclock() / 4; // WD has a fixed /4 prescaler, and a 500khz oscillator
LPC_WWDT->TC = (ms * clk) / 1000;
#else
- LPC_SYSCON->WDTOSCCTRL = (0xA << 5); // wdt_osc_clk = Fclkana/2, Fclkana = 3.5MHz
+ LPC_SYSCON->WDTOSCCTRL = WDTOSCCTRL_Val(10, 2); // wdt_osc_clk = Fclkana/2, Fclkana = 3.5MHz
LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 17); // Enable Clock WWDT
LPC_SYSCON->PDRUNCFG &= ~(1 << 6); // Enable Power WDTOSC_PD
uint32_t clk = ((3500000/2)/4); // COUNT = wdt_osc_clk/4
