#include "../main/SystemInclude.h" /*========================================== IWDG ==========================================*/ //iwdg_cfg(IWDG_PRESCALER_t IWDG_PRESCALER,uint16_t Reload) void iwdg_cfg(void) { // 1. IWDG上电后默认是运行状态,时钟源32K LSI,默认复位周期约20秒 LHL_IWDG_Stop(); // 2. 写入WDG必须先解锁,注意WDG一旦Reload就自动启用写保护 LHL_IWDG_Unlock(); // 3. 设定LSI 32分频(约1KHz),默认为256分频 LHL_IWDG_SetPrescaler(IWDG_PRESCALER_32, LHL_NRM_TIMEOUT); // 4. IWDG是12bit寄存器,最大值4095(默认重装载值0x9C0) LHL_IWDG_SetReload(4000, LHL_NRM_TIMEOUT); // 5. 自动装载并开始运行,大约4000*1KHz=4S复位 LHL_IWDG_Start(); } /* //void LHL_IWDG_Reload(void);//写入0xAAAA重装载IWDG //LHL_StatusTypeDef LHL_IWDG_Stop(void); //暂停运行IWDG //LHL_StatusTypeDef LHL_IWDG_Resume(void);//继续运行IWDG //LHL_StatusTypeDef LHL_IWDG_Start(void);//写入0xAAAA重装载并启动IWDG */ void stop_WDT(void) { LHL_IWDG_Stop(); } void clear_WDT(void) { //LHL_IWDG_Reload(); }