[Nucleo-F411RE] 第4篇--用stm32CubeMx创建工程配置独立看门狗

我这也是4年前大学学过,基本忘记了,重新简单的过一遍。

以下内容是个人化理解与文字表述。

简单点,主要是3个问题。

1.看门狗原理是什么?

          看门狗是用于检测软件错误导致的故障。使能看门狗,将进行计数器递减计数,如果在寄存器计数到0之前没有写值到重载计数器,系统将产生复位。


2.有哪几个寄存器?

    LWDG_KR寄存器:

                        1.隔一段时间写入AAAAh,使看门狗就不会复位

                        2.写入5555h, PR和RLR寄存器才能读写  

                        3.写入CCCCh,启动看门狗

  IWDG_PR寄存器

        时钟分频,影响倒计一个数的时间。例如32k的时钟,4分频,那倒计一个数就是1/8ms。

    IWDG_RLR寄存器

          12位的寄存器,2的12次方 = 4096,也就是从0计数到4095。

          从stm32Cube软件里面可以看到,能够设置的IWDG down-counter reload value最大值就是4095。

         例如32k时钟,4分频,最小计1个数1/8ms = 0.125ms, 最大计4096个数,4096 *0125 = 512ms。

    IWDG_SR寄存器 


3.怎么配置使用它?

           1.预期效果,我要设置多少秒的看门狗 ?

 比如我要设置5s左右的,那就可选32k,64分频,2ms/计数, 重载值就是5000/2 = 2500,每次写入2500到RLR寄存器。

对应CubeMX设置:

 测试程序:

 ------------------------

预期效果:

            a.开机后,LD2闪动n次,最后常量代表程序正常启动。

            b.5s左右不进行喂狗操作,程序复位,重新执行步骤1。如在5s内,按下蓝色按钮,则重新计时5s。

 代码:

             

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值