HC32 SWDT看门狗

SWDT

SWDT通常使用内部专用时钟源(如低速内部RC振荡器,频率固定为10kHz),该时钟源独立于系统主时钟(如PCLK3),因此即使外部晶振或PLL故障导致系统时钟失效,SWDT仍能正常计数,可靠性较高。‌

WDT

WDT则依赖系统时钟(如PCLK3)作为时钟源,其计数精度较高,但若系统时钟因故障停止,WDT也会随之停止计数,从而丧失看门狗功能。‌

启用SWDT DLL

c 复制代码
hc32a4xx_conf.h

#define LL_SWDT_ENABLE                              (DDL_ON)

SWDT程序

看门狗时间 ≈ (计数周期 * 时钟分频系数 / 10 000 )s

4096 * 128 / 10000 = 52秒

c 复制代码
static void App_SWDTCfg(void)
{
    stc_swdt_init_t stcSwdtInit;

    /* SWDT配置 */
    stcSwdtInit.u32CountPeriod   = SWDT_CNT_PERIOD4096;
    stcSwdtInit.u32ClockDiv      = SWDT_CLK_DIV128;
    stcSwdtInit.u32RefreshRange  = SWDT_RANGE_0TO100PCT;
    stcSwdtInit.u32LPMCount      = SWDT_LPM_CNT_CONT;
    stcSwdtInit.u32ExceptionType = SWDT_EXP_TYPE_RST;
    (void)SWDT_Init(&stcSwdtInit);

    /* 启动看门狗 */
    SWDT_FeedDog();
}

void main(void)
{
    App_SWDTCfg();
    while(1) {
			DDL_DelayMS(1000);
			SWDT_FeedDog();
			DDL_DelayMS(1000);
			SWDT_FeedDog();
    }
}
相关推荐
踏着七彩祥云的小丑7 小时前
嵌入式——认识电子元器件——温度开关系列
单片机·嵌入式硬件
宣宣猪的小花园.7 小时前
C语言重难点全解析:内存管理到位运算
c语言·开发语言·单片机
FreakStudio14 小时前
亲测可用!可本地部署的 MicroPython 开源仿真器
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
rit843249916 小时前
STM32 + DS3231 + TM1640 实时时钟数码管显示系统
stm32·单片机·嵌入式硬件
zjxtxdy17 小时前
STM32开发
stm32·单片机·fpga开发
集和诚JHCTECH17 小时前
BRAV-7120加持,让有毒有害气体无处遁形
大数据·人工智能·嵌入式硬件
LCG元17 小时前
STM32实战:基于STM32F103的I2C通信(AT24Cxx EEPROM读写)
stm32·单片机·嵌入式硬件
徐某人..17 小时前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
星恒讯工业路由器19 小时前
MCU+WiFi与CPU+WiFi模块区别
单片机·嵌入式硬件
LCMICRO-1331084774619 小时前
长芯微LD7940完全P2P替代AD7940,是一款14位、逐次逼近型模数转换器(ADC)
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·模数转换器adc