首页 > 其他分享 >CH592 IWDG独立看门狗

CH592 IWDG独立看门狗

时间:2023-07-25 16:00:37浏览次数:34  
标签:Enable CH592 CFG void 看门狗 IWDG R32

独立看门狗(IWDG)由专用的内部低速时钟(LSI)驱动,能够在低功耗模式下正常工作。

 

根据寄存器描述,IWDG最大时间可以是(0xFFF/(32K/512))=65.52s

代码如下:

#define  FEED_IWDG()   {R32_IWDG_KR=0xAAAA;} //需要定时调用喂狗

看门狗初始化

void IWDG_Enable()
{
    R32_IWDG_KR=0x5555;//解除IWDG保护
    R32_IWDG_CFG |= (7<<12);//32K分频512,时钟62.5Hz
    R32_IWDG_CFG &=0xFFFFF000;
    R32_IWDG_CFG |=0xFFF;//看门狗时间约65s(0xFFF/(32K/512))
    R32_IWDG_KR=0xCCCC; //开启IWDG保护
}

操作演示

void main()
{
    IWDG_Enable(); //使能IWDG
    PRINT("R32_IWDG_CFG = %x\r\n", R32_IWDG_CFG);
    while(1){
        FEED_IWDG(); //喂狗
    }
}

如果不喂狗,缩减狗时间,操作如下:

void IWDG_Enable()
{
    R32_IWDG_KR=0x5555;//解除IWDG保护
    R32_IWDG_CFG |= (7<<12);//32K分频512,时钟62.5Hz
    R32_IWDG_CFG &=0xFFFFF000;
    R32_IWDG_CFG |=0x10;//看门狗时间约256ms(0x10/(32K/512))
    R32_IWDG_KR=0xCCCC;
}

void main()
{
    IWDG_Enable(); //使能看门狗
    PRINT("R32_IWDG_CFG = %x\r\n", R32_IWDG_CFG);
    while(1){
//        FEED_IWDG();
    }
}

运行结果如下:

 

标签:Enable,CH592,CFG,void,看门狗,IWDG,R32
From: https://www.cnblogs.com/debugdabiaoge/p/17580033.html

相关文章

  • Freertos学习07-看门狗
    一、前言看门狗是一种硬件计时器,用于监控系统的运行状态。它可以在系统出现故障或停止响应时自动重启系统,以确保系统的稳定性和可靠性。ESP-IDF支持多种类型的看门狗,其中两种主要类型是:中断看门狗定时器和任务看门狗定时器(TWDT)。中断看门狗定时器和TWDT都可以使用项目配置菜......
  • BLE无线性能粗测-CH582 CH592 CH573
    BLE无线信号好的基础是硬件设计要遵循一定的要求,具体如下:CH582M原理图设计如果没有遵循以上要求,BLE无线信号是没有办法保证的,后面的测试方法可以继续,可能改善,但是可能影响不大(举个例子,身高179cm,随便穿个鞋子就180+了,如果只有150cm,想通过穿鞋子达到180+,你品品)。测试第一步:下载......
  • 51单片机看门狗定时唤醒低功
    程序流程:1.检测到符合睡眠条件,进入到睡眠程序。2.初始化看门狗,设置定时唤醒时间,关闭其它外设中断。3.开总中断,只开看门狗中断4.进入睡眠模式5.发生看门狗唤醒中断,清除看门狗定时器,复位看门狗标志,防止复位。6.退出睡眠模式,初始化单片机外设寄存器,打开外设中断。7.执行主程序......
  • IWDG-CH32FV2x_V3x--低功耗模式的看门狗处理
    芯片睡眠模式下看门狗的使用:     由于独立看门狗的特殊性,一旦开启就不能再被关闭,除非发生复位。而睡眠时程序又是停止运行的,这样就无法及时喂狗,从而导致看门狗复位。那么就需要软件上做些特殊   处理     方法1:在低功耗模式下进行RTC定时唤醒CPU进行......
  • IWDG
    一、IWDG简介IWDG的全称:Independentwatchdog,即独立看门狗IWDG的本质:能产生系统复位信号的计数器IWDG的特性:递减的计数器时钟由独立的RC振荡器提供(可在待机和停止......
  • ArkUI中的线程和看门狗机制
     一、前言本文主要分析ArkUI中涉及的线程和看门狗机制。 二、ArkUI中的线程应用Ability首次创建界面的流程大致如下: 说明:•AceContainer是一个容器类,由前端......
  • CH582 CH592 CH573 PC指针打印(排查程序运行+死循环指示)
    代码调试如果需要程序死循环,又不晓得停在哪,可以通过打印PC指针进行定位,具体方法如下比如开启看门狗中断,开发方法参考CH573CH582CH579看门狗使用-debugdabiaoge-博......
  • stm32f407探索者开发板(二十一)——窗口看门狗
    文章目录​​一、窗口看门狗概述​​​​1.1看门狗框图​​​​1.2窗口看门狗工作过程总结​​​​1.3超时时间​​​​1.4为什么需要窗口看门狗​​​​1.5其他注意事......
  • stm32f407探索者开发板(二十)——独立看门狗实验
    文章目录​​一、独立看门狗概述​​​​1.1独立看门狗​​​​二、常用寄存器和库函数配置​​​​2.1独立看门狗框图​​​​2.2键值寄存器IWDG_KR​​​​2.3预分频......
  • Redisson的锁重试和看门狗机制
    先看一下自己利用setnx写的简易分布式锁,有四个问题,1,不可重入2,不可重试3,超时自动释放(如果业务阻塞了,就算代码没执行完也会释放锁)4,集群模式下怎么办?@Override......