void driver_wdg_init(void)
{
WDG_ClockEnable();
/* WDG timing time = ((77+1)/32000)*( 2^(11+1) - 1) , about 10S
* Reset mode following:
* INTERRUPT_CPU: interrupt CPU
* RESET_ALL_EXCEPT_AON: reset all except aon
* RESET_CORE_DOMAIN: reset core domain
* RESET_ALL: reset all
*/
WDG_Config(77, 11, RESET_ALL);
WDG_Enable();
}
/**
* @brief Feeding dog.
* @param No parameter.
* @return void
*/
void wdg_feed(void)
{
WDG_Restart();
}
#define DELAY_TIME (100000*100)
void m_test_watch_demo(void)
{
DBG_DIRECT("hello watch demo line:%d\n",__LINE__);
driver_wdg_init();
#if 1
while(1)
{
wdg_feed();
DBG_DIRECT("wdg feed\n");
for (uint32_t i = 0; i < DELAY_TIME; i++);
}
#else
while(1)
{
DBG_DIRECT("not wdg feed\n");
for (uint32_t i = 0; i < DELAY_TIME; i++);
}
#endif
}