看门狗的启动与配置

描述

独立看门狗的操作步骤
①取消寄存器写保护(向 IWDG_KR 写入 0X5555 ):
IWDG_WriteAccessCmd();

通过这步,取消 IWDG_PR 和 IWDG_RLR 的写保护,使后面可以操作这两个寄存器,设置 IWDG_PR 和 IWDG_RLR 的值。
这在库函数中的实现函数是: IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
开启/取消写保护,也就是使能/失能写权限 。

② 设置独立看门狗的预分频系数,确定时钟:
IWDG_SetPrescaler();
③ 设置看门狗重装载值,确定溢出时间:
IWDG_SetReload();

库函数里面重载计数值的函数是:
//按照 IWDG 重装载寄存器的值重装载 IWDG 计数器
IWDG_ReloadCounter();
通过这句,将使 STM32 重新加载 IWDG_RLR 的值到看门狗计数器里面。即实现独立看门狗的喂狗操作。

④ 使能看门狗
IWDG_Enable();

库函数里面启动独立看门狗的函数是:
IWDG_Enable(); //使能 IWDG
这函数用来启动 STM32F4 的看门狗。
注意 IWDG 在一旦启用,就不能再被关闭!想要关闭,只能重启,并且重启之后不能打开 IWDG,否则问题依旧,所以在这里提醒大家,如果不用 IWDG 的话,就不要去打开它,免得麻烦。

⑤ 应用程序喂狗:
IWDG_ReloadCounter();

溢出时间计算:
Tout=((4×2^prer) ×rlr) /32 (M4)

寄存器



审核编辑 黄昊宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分