Electricity/FWLIB/source/ENS1_WATCHDOG.c

65 lines
1.0 KiB
C
Raw Normal View History

/*
*Copyright ,2023 , NANOCHAP
*File name: ENS1_WATCHDOG.c
*Author:
*Version: V1.0
*Date: 2023-11-
*Description:
*Function List:
History:
1.V1.0
Date:
Author:
Modification: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
#include "ENS1_WATCHDOG.h"
//<2F><><EFBFBD><EFBFBD>loadֵ
void WatchDogLoad(uint32_t loadvalue_us)
{
CMSDK_WATCHDOG->LOAD = loadvalue_us * (uint8_t)(APB_Clock_Freq/1000000) ;
}
//<2F><>ȡwatchdog <20>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰֵ
uint32_t Read_WDOGVALUE(void)
{
return ( CMSDK_WATCHDOG->VALUE & 0xffffffff );
}
//ʹ<>ܿ<EFBFBD><DCBF>Ź<EFBFBD><C5B9>ж<EFBFBD><D0B6>¼<EFBFBD>
void WatchDog_Control(FunctionalState newstate)
{
if(newstate == ENABLE)
{
CMSDK_WATCHDOG->CTRL |= (0x3);
}
else
{
CMSDK_WATCHDOG->CTRL &=~ (0x3);
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9>ж<EFBFBD><D0B6>¼<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>ֵ
void WatchDog_IntClear(void)
{
CMSDK_WATCHDOG->INTCLR = 1 ;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint8_t WatchDog_LOCK_RegSet(WdogLockState newstate)
{
if(newstate == LOCK)
{
CMSDK_WATCHDOG->LOCK = 0;
}
else
{
CMSDK_WATCHDOG->LOCK = 0x1ACCE551;
}
return (CMSDK_WATCHDOG->LOCK &0x1);
}