芯片:GD32F350 运行在8M
目标:启动芯片看门狗,定时喂狗
流程
1.初始化看门狗时钟
2.配置看门狗
3.定时喂狗
1.初始化看门狗时钟
启动用于给看门狗的内部40KHz的时钟
static void irc40k_config(void)
{/* enable IRC40K */rcu_osci_on(RCU_IRC40K);/* wait till IRC40K is ready */while(ERROR == rcu_osci_stab_wait(RCU_IRC40K));
}
2.配置看门狗
计算公式(单位:毫秒):看门狗单次计数时间 = 40K / 分频系数
下面的就1秒看门狗的设定
//重装载值
#define WDGT_RELOAD_VALUE 156
//分频系数
#define WDGT_PRESCALER_DIV FWDGT_PSC_DIV256void WDGT_Init(void)
{//时钟初始化irc40k_config();fwdgt_config(WDGT_RELOAD_VALUE, WDGT_PRESCALER_DIV);fwdgt_enable();
}
3.定时喂狗
//喂狗
void WDGT_Feed(void)
{fwdgt_counter_reload();
}