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();
    }
}
相关推荐
点灯小铭5 小时前
基于单片机的喷漆机器人自动控制系统
单片机·嵌入式硬件·机器人·毕业设计·课程设计·期末大作业
丸子的蓝口袋6 小时前
光耦加PNP管驱动继电器
嵌入式硬件
Dillon Dong6 小时前
STM32嵌入式开发:巧用位运算,打造高效参数ID管理方案
stm32·单片机·嵌入式硬件
亿道电子Emdoor6 小时前
【Arm】Arm DS如何导出Build log文件
stm32·单片机·嵌入式硬件
DIY机器人工房6 小时前
解决方法:关于上传经纬度绑定到onenet可视化平台地图上位置偏移的问题
stm32·单片机·嵌入式硬件·gps·定位·diy机器人工房
墨染倾城殇6 小时前
蓝牙车钥匙方案:低功耗蓝牙模块引领科技与生活完美融合
科技·嵌入式硬件·生活·蓝牙模块·低功耗蓝牙·车钥匙解决方案
richxu202510016 小时前
嵌入式学习之路>单片机核心原理篇>(14) ARM 架构
arm开发·单片机·学习
清风6666667 小时前
基于单片机的蔬菜大棚温湿度远程测报系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
鸿喵小仙女7 小时前
HC32 HC32A448创建真随机数
hc32