zoukankan      html  css  js  c++  java
  • 独立看门狗和窗口看门狗

    独立看门狗没几个寄存器。

    1、IWDG_KR,写入0xcccc,启动看门狗。计数器开始从复位值 0xFFF 递减计数。当计数器计数到终值 (0x000) 时会产生一个复位信号( IWDG 复位)
    2、任何时候将关键字 0xAAAA 写到 IWWDG_KR 寄存器中, IWDG_RLR 的值就会被重载到计数器,从而避免产生看门狗复位。写入键值 5555h 可使能对 IWDG_PR 和 IWDG_RLR 寄存器的访问.
    3、这个看门狗的时钟源是LSI,IWDG_PR寄存器是这个看门狗时钟的分频设置。

    没有及时喂狗,单板复位后,寄存器恢复默认值,看门狗就不使能了。所谓的窗口看门狗,就是喂狗不能太慢,也不能太快,需要在一个窗口时间内喂狗。

    窗口看门狗有中断源,独立看门狗没有,是不是窗口看门狗不会复位MCU,只是产生中断???

    独立看门狗确实只会触发复位。而窗口看门狗可以触发中断和复位。如果在窗口看门狗的中断服务程序中重载计数值,就不会复位了。

    下面来看这个模块的库函数。

    void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess)
    {
      /* Check the parameters */
      assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess));
      IWDG->KR = IWDG_WriteAccess; //写入0x5555,接触对PR和RLR的写保护
    }
    void IWDG_SetPrescaler(uint8_t IWDG_Prescaler)
    {
      /* Check the parameters */
      assert_param(IS_IWDG_PRESCALER(IWDG_Prescaler));
      IWDG->PR = IWDG_Prescaler; //设置分频
    }
    void IWDG_SetReload(uint16_t Reload)
    {
      /* Check the parameters */
      assert_param(IS_IWDG_RELOAD(Reload));
      IWDG->RLR = Reload;//设置重载值,默认是0xfff,重载值和分频系数配合,可以控制看门狗喂狗时间。
    }
    void IWDG_ReloadCounter(void)
    {
      IWDG->KR = KR_KEY_RELOAD;//KR写入AAAA,重载,就是在清狗
    }
    void IWDG_Enable(void)
    {
      IWDG->KR = KR_KEY_ENABLE; //看门狗使能
    }

    一般的独立看门狗用法

    void IWDG_Init(u8 prer,u16 rlr)
    {
        IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //取消对寄存器的写保护
        
        IWDG_SetPrescaler(prer); //写入分频值
    
        IWDG_SetReload(rlr);   //写入重载值
    
        IWDG_ReloadCounter(); //reload
        
        IWDG_Enable();       //看门狗使能·
    }
    
    //喂狗函数·
    void IWDG_Feed(void)
    {
        IWDG_ReloadCounter();//reload
    }
  • 相关阅读:
    解决tomcat启东时一闪而过的问题
    如果数据库中的时间类型与mybatis的时间类型对应关系
    el 表达式中某一项过长时需要截取字符串长度,当悬停的时候显示全部内容
    ubuntu/linux系统中安装jdk以及eclipse(附图解详细步骤)
    Unity利用SMSSDK实现短信验证码(附代码)
    Unity利用Share SDK实现QQ、微信及微博第三方登录及定制内容分享(附代码)
    Unity编辑器扩展
    VR中射线点击按钮的实现
    Unity中几个特殊路径在各个平台的访问方式
    多态
  • 原文地址:https://www.cnblogs.com/nasduc/p/4703359.html
Copyright © 2011-2022 走看看