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();
    }
}
相关推荐
kebidaixu14 小时前
FreeRTOS 移植到 STM32F407VETX 记录(一)
stm32·单片机·嵌入式硬件
CSDN官方博客15 小时前
「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令
嵌入式硬件·物联网·embedding
点灯小铭16 小时前
基于单片机的数码管定时插座设计与定时开关功能实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
云栖梦泽16 小时前
玩转RK3506SDK
linux·嵌入式硬件
数智工坊17 小时前
机器人四大主控板系统分层选型指南:树莓派、ESP32、STM32与Arduino的能力边界与实战定位
stm32·嵌入式硬件·机器人
进击的小头18 小时前
第8篇:IGBT 从零到精通:核心原理、关键参数、选型指南与工业级应用要点
经验分享·嵌入式硬件·学习
点灯小铭18 小时前
基于单片机的多模式智能洗衣机设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
项目題供诗18 小时前
STM32-AD单通道&AD多通道(十九)
stm32·单片机·嵌入式硬件
南岸的水19 小时前
BMS国标充电解析
单片机·嵌入式硬件·mcu
清风66666619 小时前
基于单片机的可调数控电源设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业