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();
    }
}
相关推荐
深耕AI5 小时前
【时钟周期 vs 指令】为什么51单片机需要12个时钟周期?
单片机·嵌入式硬件·51单片机
Arciab6 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
清风6666669 小时前
基于单片机的多功能智能婴儿车设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
码咔吧咔9 小时前
STM32芯片简介,以及STM32的存储器映射是什么?
stm32·单片机·嵌入式硬件
别掩11 小时前
MOS防倒灌电路设计
单片机·嵌入式硬件
夜流冰11 小时前
EE - 电容电感电路中电流的变化
单片机·嵌入式硬件
橙露12 小时前
STM32中断配置全解析:从寄存器到HAL库的实战应用
stm32·单片机·嵌入式硬件
c-u-r-ry3012 小时前
ZYNQ7 Processing System各个配置界面介绍
嵌入式硬件
idcardwang13 小时前
esp32s3-pwm介绍与stm32的不同原理
单片机·嵌入式硬件
码咔吧咔13 小时前
Flash 是什么?SRAM 是什么?它们的作用、特点、区别、在 STM32 中如何使用?
stm32·嵌入式硬件