我是靠谱客的博主 会撒娇绿茶,最近开发中收集的这篇文章主要介绍IWDG独立看门狗实验开发步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

开发步骤

(1)开启寄存器访问(给 IWDG_KR 寄存器写入 0X5555) 通过前面内容的介绍我们知道 IWDG_PR 和 IWDG_RLR 寄存器具有写访问保 护。若要修改寄存器,必须首先对 IWDG_KR 寄存器写入代码 0x5555,如果写入 其他的值将重新开启写保护。在库函数中实现函数如下: IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //取消寄存器写保护 这个函数非常简单,里面的参数就是用来使能或失能写访问,即开启或关闭 写访问

(2)设置 IWDG 预分频系数和重装载值 设置 IWDG 预分频系数函数为: void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //设置 IWDG 预分频 值 设置 IWDG 重装载值函数为: void IWDG_SetReload(uint16_t Reload); //设置 IWDG 重装载值 设置好 IWDG 的分频系数 pre 和重装载值就可以知道独立看门狗的喂狗时 间,也就是看门狗溢出时间,该时间的计算公式前面已经介绍,公式如下: Tout = (4*2^pre) / 40 * rlr 其中 Tout 为独立看门狗溢出时间,单位是 ms。pre 是预分频器系数(0-6), rlr 是重装载寄存器的值,公式内的 40 是独立看门狗的时钟。

(3)重载计数器值(喂狗)(给 IWDG_KR 寄存器写入 0XAAAA) 重载计数器值(喂狗)库函数是: IWDG_ReloadCounter(); //重装载初值 此函数功能是将 IWDG_RLR 寄存器内值重新加载到独立看门狗计数器内,实 现喂狗操作。

4)开启 IWDG(给 IWDG_KR 寄存器写入 0XCCCC) 要使用独立看门狗,我们还需要打开它,开启 IWDG 的库函数是: IWDG_Enable(); //打开独立看门狗 这里提醒下大家:IWDG 在一旦启用,就不能再被关闭,想要关闭,只能重 启,并且重启之后不能打开 IWDG,否则问题依旧存在。所以如果不用 IWDG 的 话,就不要去打开它,免得麻烦

iwdg.h+iwdg.c

main.c

最后

以上就是会撒娇绿茶为你收集整理的IWDG独立看门狗实验开发步骤的全部内容,希望文章能够帮你解决IWDG独立看门狗实验开发步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部