65 lines
1.0 KiB
C
65 lines
1.0 KiB
C
|
|
/*
|
|||
|
|
*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);
|
|||
|
|
}
|
|||
|
|
|