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.
wdt.cpp
- Committer:
- hzsun
- Date:
- 2020-04-10
- Revision:
- 9:cec9620ad205
- Parent:
- 1:159a09ac60ba
File content as of revision 9:cec9620ad205:
#include "mbed.h"
#include "wdt.h"
// Simple Library for Watchdog
// ---------------------------
// Initialise watchdog using 1KHz clock
// To prevent overwriting, only a single write to the COPC register possible
//
void wdt_1sec() {
// 1024ms, not windowed - this is the default
/* SIM_COPC: COPT=11,COPCLKS=0,COPW=0 */
SIM->COPC = (uint32_t)0x0Cu;
}
void wdt_256ms() {
// 256ms, not windowed
/* SIM_COPC: COPT=10,COPCLKS=0,COPW=0 */
SIM->COPC = (uint32_t)0x08u;
}
void wdt_32ms() {
// 32ms, not windowed
/* SIM_COPC: COPT=01,COPCLKS=0,COPW=0 */
SIM->COPC = (uint32_t)0x04u;
}
// Kick (feed, reload) our watchdog timer
void wdt_kick_all(){
SIM->SRVCOP = (uint32_t)0x55u;
SIM->SRVCOP = (uint32_t)0xAAu;
}
void wdt_kickA(){
SIM->SRVCOP = (uint32_t)0x55u;
}
void wdt_kickB(){
SIM->SRVCOP = (uint32_t)0xAAu;
}