void IWDG_Init()
{
IWDG->KR = 0X5555;
IWDG->PR = 2;
IWDG->RLR = 0X7FF;
IWDG->KR = 0XAAAA;
IWDG->KR = 0XCCCC;
}
void IWDG_Feed()
{
IWDG->KR = 0XAAAA;
}
int main(void)
{
KEY_Init();
Timer2_Init();
HC595_Init();
IWDG_Init();
while(1)
{
Disp_Data(dis_data);
}
}
以上是独立看门狗的配置函数,以及main函数。
Disp_Data(dis_data)是一个显示函数,显示的数值每秒加1,如果没有喂狗指令的话,应该是一直复位,也就是显示的数字一直复位,但是现在看不到复位效果,已经试验了好几块板子了,都是这种情况。反复查看了数据手册,认为寄存器配置没有什么错误。
请大家帮忙分析一下原因。谢谢大家。 |