Files
CHJ/user/MCU/lhl_watchdog.c

39 lines
1.0 KiB
C
Raw Normal View History

2026-03-20 21:19:04 +08:00
#include "../main/SystemInclude.h"
/*==========================================
IWDG
==========================================*/
2026-03-20 21:16:58 +08:00
2026-03-20 21:19:04 +08:00
//iwdg_cfg(IWDG_PRESCALER_t IWDG_PRESCALER,uint16_t Reload)
void iwdg_cfg(void)
2026-03-20 21:16:58 +08:00
{
// 1. IWDG<44>ϵ<EFBFBD><CFB5><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʱ<EFBFBD><CAB1>Դ32K LSI<53><49>Ĭ<EFBFBD>ϸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Լ20<32><30>
LHL_IWDG_Stop();
// 2. д<><D0B4>WDG<44><47><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>WDGһ<47><D2BB>Reload<61><64><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
LHL_IWDG_Unlock();
// 3. <20>趨LSI 32<33><32>Ƶ<EFBFBD><C6B5>Լ1KHz<48><7A><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ256<35><36>Ƶ
LHL_IWDG_SetPrescaler(IWDG_PRESCALER_32, LHL_NRM_TIMEOUT);
// 4. IWDG<44><47>12bit<69>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ4095<39><35>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ֵ0x9C0<43><30>
LHL_IWDG_SetReload(4000, LHL_NRM_TIMEOUT);
// 5. <20>Զ<EFBFBD>װ<EFBFBD>ز<EFBFBD><D8B2><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD>Լ4000*1KHz=4S<34><53>λ
LHL_IWDG_Start();
}
2026-03-20 21:19:04 +08:00
/*
2026-03-20 21:16:58 +08:00
//void LHL_IWDG_Reload(void);//д<><D0B4>0xAAAA<41><41>װ<EFBFBD><D7B0>IWDG
//LHL_StatusTypeDef LHL_IWDG_Stop(void); //<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>IWDG
//LHL_StatusTypeDef LHL_IWDG_Resume(void);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IWDG
//LHL_StatusTypeDef LHL_IWDG_Start(void);//д<><D0B4>0xAAAA<41><41>װ<EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD>IWDG
*/
2026-03-20 21:19:04 +08:00
void stop_WDT(void)
2026-03-20 21:16:58 +08:00
{
LHL_IWDG_Stop();
}
2026-03-20 21:19:04 +08:00
void clear_WDT(void)
2026-03-20 21:16:58 +08:00
{
//LHL_IWDG_Reload();
}