• 独立看门狗和窗口看门狗


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

    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
    }
  • 相关阅读:
    php测试题整理(0519)
    Ajax调用返回json,xml数据类型(0517--pm)
    python 收集测试日志--格式
    python3下tomorow模块报语法错误def async(n, base_type, timeout=None): ^ SyntaxError: invalid syntax
    appium 下载
    VMware 虚拟机设置固定ip
    Centos7 安装配置 SVN
    【Linux】 Centos7 安装 mysql-8.0
    win7 SP1 64位 原版 百度网盘下载
    win10操作系统 64位 原版 百度网盘下载
  • 原文地址:https://www.cnblogs.com/nasduc/p/4703359.html
Copyright © 2020-2023  润新知