39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
#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();
|
||
}
|
||
|