EFM32 Leopard Gecko Software Documentation
efm32lg-doc-4.2.1
|
Watchdog (WDOG) Peripheral API
. More...
Data Structures | |
struct | WDOG_Init_TypeDef |
Macros | |
#define | WDOG_INIT_DEFAULT |
Enumerations | |
enum | WDOG_ClkSel_TypeDef { wdogClkSelULFRCO = _WDOG_CTRL_CLKSEL_ULFRCO, wdogClkSelLFRCO = _WDOG_CTRL_CLKSEL_LFRCO, wdogClkSelLFXO = _WDOG_CTRL_CLKSEL_LFXO } |
enum | WDOG_PeriodSel_TypeDef { wdogPeriod_9 = 0x0, wdogPeriod_17 = 0x1, wdogPeriod_33 = 0x2, wdogPeriod_65 = 0x3, wdogPeriod_129 = 0x4, wdogPeriod_257 = 0x5, wdogPeriod_513 = 0x6, wdogPeriod_1k = 0x7, wdogPeriod_2k = 0x8, wdogPeriod_4k = 0x9, wdogPeriod_8k = 0xA, wdogPeriod_16k = 0xB, wdogPeriod_32k = 0xC, wdogPeriod_64k = 0xD, wdogPeriod_128k = 0xE, wdogPeriod_256k = 0xF } |
Functions | |
void | WDOG_Enable (bool enable) |
Enable/disable the watchdog timer. More... | |
void | WDOG_Feed (void) |
Feed the watchdog. More... | |
void | WDOG_Init (const WDOG_Init_TypeDef *init) |
Initialize watchdog (assuming the watchdog configuration has not been locked). More... | |
void | WDOG_Lock (void) |
Lock the watchdog configuration. More... | |
#define WDOG_INIT_DEFAULT |
Suggested default config for WDOG init structure.
enum WDOG_ClkSel_TypeDef |
Watchdog period selection.
void WDOG_Enable | ( | bool | enable | ) |
[in] | enable | true to enable watchdog, false to disable. Watchdog cannot be disabled if watchdog has been locked. |
Definition at line 75 of file em_wdog.c.
References _WDOG_CTRL_EN_SHIFT, BUS_RegBitWrite(), WDOG, and WDOG_SYNCBUSY_CTRL.
void WDOG_Feed | ( | void | ) |
When the watchdog is activated, it must be fed (ie clearing the counter) before it reaches the defined timeout period. Otherwise, the watchdog will generate a reset.
Definition at line 97 of file em_wdog.c.
References WDOG, WDOG_CMD_CLEAR, WDOG_CTRL_EN, WDOG_SYNCBUSY_CMD, and WDOG_SYNCBUSY_CTRL.
void WDOG_Init | ( | const WDOG_Init_TypeDef * | init | ) |
[in] | init | Structure holding watchdog configuration. A default setting WDOG_INIT_DEFAULT is available for init. |
Definition at line 137 of file em_wdog.c.
References _WDOG_CTRL_CLKSEL_SHIFT, _WDOG_CTRL_LOCK_SHIFT, _WDOG_CTRL_PERSEL_SHIFT, BUS_RegBitWrite(), WDOG_Init_TypeDef::clkSel, WDOG_Init_TypeDef::debugRun, WDOG_Init_TypeDef::em2Run, WDOG_Init_TypeDef::em3Run, WDOG_Init_TypeDef::em4Block, WDOG_Init_TypeDef::enable, WDOG_Init_TypeDef::lock, WDOG_Init_TypeDef::perSel, WDOG_Init_TypeDef::swoscBlock, WDOG, WDOG_CTRL_DEBUGRUN, WDOG_CTRL_EM2RUN, WDOG_CTRL_EM3RUN, WDOG_CTRL_EM4BLOCK, WDOG_CTRL_EN, WDOG_CTRL_SWOSCBLOCK, WDOG_Lock(), and WDOG_SYNCBUSY_CTRL.
void WDOG_Lock | ( | void | ) |
This prevents errors from overwriting the watchdog configuration, possibly disabling it. Only a reset can unlock the watchdog config, once locked.
If the LFRCO or LFXO clocks are used to clock the watchdog, one should consider using the option of inhibiting those clocks to be disabled, please see the WDOG_Enable() init structure.
Definition at line 218 of file em_wdog.c.
References _WDOG_CTRL_LOCK_SHIFT, BUS_RegBitWrite(), WDOG, and WDOG_SYNCBUSY_CTRL.
Referenced by WDOG_Init().