我自己买的是一块f429的开发板,但是这块开发板教程相对于原子教程来说,做的不是很完善,就借用原子的教程来学习,做到独立看门狗实验时,整个程序能跑,也能实现喂狗的效果,但是就是不能设置程序溢出时间,无论我设置重装载寄存器的值为多少,led的闪烁间隔感觉还是没变,至少没有很明显的变化?还麻烦大家帮忙看下,多多指教!
主函数中的15行 IWDG_Init(4,1000);无论我设置后面那个参数值(重装载值)为500,还是4000(最大为4095),理论上这两个值从led第一次亮到熄灭的时间应该有8倍之差(如果我一直不按键喂狗的话),但是实际没有这么明显的效果。还请大家多多指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我推测有可能是细微的顺序上的区别。
IWDG的具体配置顺序手册上都有,我记不清了,你可以查一下。
这是我测试过可行的看门狗初始化程序,你参考一下初始化的顺序。
你要测试看门狗的复位时间直接改IWDG_SetReload里面的值就好了。
void IWDG_Configuration( void )
{
/* Enable the IWDG*/
IWDG_Enable();
/* Enable the access to the IWDG registers*/
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //0x55
/* Fixe IWDG Reset period */
IWDG_SetPrescaler(IWDG_Prescaler_64);
IWDG_SetReload(0xF9F);
/* Refresh IWDG */
IWDG_ReloadCounter();
}
嗯多谢啊,我呆会试试看,不过我感觉你的IWDG的初始化跟我的好像是差不多的方式
多谢你的回答啊,后来发现IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 这句代码入口参数写成了ENABLE,导致没有开启写入权限!多谢你的代码啊!
一周热门 更多>