本人是STM初学者,本来根据资料的介绍,做了如下的程序段来开启stm32的独立看门狗:
/***************** 独立看门狗初始化 ******************/
void IWDG_Configuration(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_4);
IWDG_SetReload(500);
IWDG_ReloadCounter();
IWDG_Enable();
}
/***************** 独立看门狗初始化 ******************/
可是下载到片子里后,怎么也看不到复位,经过一番折腾 ,看资料、在论坛上找相关资料,怎么也搞不定。后来我就在仿真软件里观察我每一步的数据有没有写到设置寄存器里,那个5555,aaaa是怎么也看不到,只看到预装载值寄存器的值是对的,预分频的为0,为了要看到预分频的值,就把IWDG_Prescaler_4改成IWDG_Prescaler_32,下载程序运行。
很意外的,看门狗起作用了!!!!我又改回IWDG_Prescaler_4,结果又不行了。
嘿嘿,虽然功能实现了,但就搞不懂为什么4分频的不行,既然不行,为啥有这个IWDG_Prescaler_4参数?